原生Androidはどこへ行くのか


??
                                                                            ----By       

一.Androidの発展方向
1.クロスプラットフォーム開発
科学技術は日増しに発展し、未来の世界は計り知れない.ここで私の意見を発表する.認めたくはないが、プラットフォームを越えた開発が主流になることを認めざるを得ない.プラットフォームを跨ぐ応用の利点は明らかで、プラットフォームを跨ぐ、軽量級、開発コストが低く、性能が原生開発に近い.一方、原生開発に対して、開発コストが高く、実現が面倒で、reviewコードが苦痛である.会社の立場から考えると、エンジニアを一人雇いたくない人はほとんどの仕事をすることができますか?だからスタックエンジニアは運に応じて生まれた.提案:もし后で比较的に仕事を探すためにやはりプラットフォームをまたいで开発することを提案するならば、能力のあるのは自分を育成して全体のスタックの技師になることができます.次に、プラットフォームをまたいで開発する主流のフレームワークについて説明します.個人的にはランキング:react>vue>angular市場でvueを使用しています.jsの比較的多い(1)react native Facebook出品、キャッシュがよく、性能が最も原生に近い.(2)vue.jsは国内の大神が開発し、外国で人気のある軽量級の枠組みで、上手になりやすく、性能は原生に近い.アリはvueに基づいている.jsはweexを出してもっと牛を追い詰めて、理解することができます.(3)angular.js Googleが公式に推薦したjsフレームワークは、前の2つのフレームワークに比べて性能が悪く、開発時にキャッシュ性能に注意するのは悪くない.常用コーディネートionic 3(モバイルアプリケーションUIライブラリ)+angular 4(現在はangular 5のようです)
2.原生開発
(1)Kotlin 2017年Googleはkotlinを公式開発言語として発表した.Kotlinは主流言語の中で最も若いと言えるが、googleが公式言語と発表した後、急速に発展し、今後5年以内にjavaに取って代わって主流のAndroid開発言語になると予想されている.Kotlinのいくつかの利点は、kotlinは多くの言語の特性を参照して結合した言語であり、文法的にはiosが開発したswift言語と比較的に似ており、いずれも弱いタイプの言語である.kotlinは同じようにJVM上で実行され、javaコードをシームレスに互換することができる.つまり、Androidプロジェクトがjavaが開発した場合、kotlin開発に移行するのは難しくない.kotlinもプラットフォームにまたがる開発言語であり、将来kotlinはiosアプリケーションの開発に利用できるかもしれない.提案:原生開発が好きでAndroid開発に接触し始めたばかりであれば、kotlinを直接学ぶことができます.現在kotlinは完璧ではありませんが、未来の傾向はそうです.(2)Java javaはプログラミング言語の大物であり、これまでjavaの上位3位を揺るがす言語はなかった.上はkotlinの長所を言って、ここで欠点を言います.Kotlinはjavaの成熟に足りず、java seは長年Androidアプリケーションの開発に用いられており、市場にはすでに非常に強力な第三者フレームワークがあるが、kotlinは現在javaに及ばないため、kotlinはAndroid開発におけるjavaの地位を揺るがすことができない(Android開発大軍がjavaからkotlinに移行するには移行期が必要である).多くの小企業は開発コストを節約するためにプラットフォームをまたいで開発したAndroidを募集しているが、一部の大企業はjavaを選んで原生Androidを開発したり、原生+h 5を通じて開発したりしている.JavaでAndroidを開発するのが好きなら、主流のフレームワークを紹介して勉強します.Butterknife:findViewByIdやonclickクリックイベントの傍受の煩雑な作業の代わりに、ASプラグインのワンクリックでViewHolderを生成する強力な注釈フレームワークです.RxJava 2:強力な非同期フレームワークで、Handler、Threadなどの非同期操作に代わることができ、利点が多く、簡潔で、応答式プログラミング、チェーン式プログラミング、実行スレッドが勝手に切り替わる...初心者がRxJava 2を学ぶのは苦痛かもしれないが、ここにRxJavaのチュートリアルを添付し、Android大神必学になる:RxJavaチュートリアルRetrofit 2:現在最も人気のあるネットワークフレームワークで、RxJava 2とよく協力して使用されている.Retrofit 2はOkHttp 3に基づくもので、Retrofit 2を学ぶ前にOkHttp 3を学んでください.実はRetrofit 2のネットワーク機能はOkHttp 3が提供するもので、Retrofit 2はOkHttp 3をRESTfulの設計基準に合致するようにパッケージするだけです.RxBus:RxBusはライブラリではなく、RxJavaを用いてイベントバスを実現する考え方である.もちろんgithubにはパッケージされたRxBusがあります.プロジェクトが使用されていないか、RxJavaを使用する予定がない場合は、EventBusを使用することをお勧めします.EventBusはAndroidのために最適化されたパブリケーション/サブスクリプションイベントバスであり、コンポーネント間の通信を簡素化します.Glide/fresco:GlideはGoogle製の強力なピクチャーライブラリで、FrescoはFacebook製の強力なピクチャーライブラリで、Glideの人気はもっと高いです.Frescoはラベルに直接フィレットを設けることができ、画像キャッシュの問題を考慮することなく、相対的にFrescoは使いやすい(バカな操作).Gson/FastJson:GsonはGoogle出品の強力な処理jsonデータフレームワークであり、FastJsonはアリ出品の強力な処理jsonデータフレームワークである.Gsonは人気が高く、2つのjson解析フレームワークが使いやすく、非常に強いです.優秀な枠組みがたくさんあるので、一つ一つ挙げない.4種類の設計モードのフレームワークを紹介する:1.MVC(Model-View-Controller)のオリジナルAndroid開発は設計モードを考慮しなければ、それ自体がMVC設計モードに従っている.Model:データ論理部、データベース、集合などのデータ操作.ビュー私たちのビューレイアウトですコントローラMainActivityはコントローラです.ActivityとFragmentコードが冗長で、reviewが不便です.使用は推奨されません.2.MVP(Model-View-presenter)は、いずれもインタフェースModel:同様にデータ論理部分View:カスタムViewインタフェースであり、Viewのあるべきものを実現する.Presenter:MainActivityの代わりに司会者の地位は、コントローラPresenterがModelを操作し、Viewにフィードバックする仲介者に相当する.Activityの仕事を軽減し、ModelとViewの関係をデカップリングする.中小規模プロジェクトに適している.3.MVVM(Model-View-ViewModel)は基本的にMVPと同様に、双方向バインディング(data-binding)、ViewModelの再利用性を採用している.欠点:レイアウトにデータバインドが加わる、viewは多重化できない.大プロジェクトに適している.4.TheMVP(支付宝が使用しているデザインモデル)は、張濤のオープンソースがMVPまたはMVVMプロジェクトに適用できる.張濤のMVPに対する認識は異なり、ActivityとFragmentをPresenterとしている.利点:優れており、高度にデカップリングされ、viewは多重化可能である.大プロジェクトに適している.欠点:初心者はとても苦しくて、理解しにくいです.modelは多重化できない.興味があれば学んでみてください:張源開源のTheMVP
二.Javaはまだ耐えられますか?
Android開発の大軍がjavaからkotlinに移行するには移行期が必要であるため、javaは現在Androidの地位で主流であると述べた.JavaでAndroidを開発するのは個人的にはいいと思いますが、j 2 seは難しくありません.Androidを開発するのに使いやすい開発プロセスを理解し、実現するにはプラットフォームをまたいで開発する便利さはありませんが、既存の強力なフレームワークは多くの助けになります.Ps:開発時間を節約するために繰り返しホイールを作ることはお勧めしませんが、サードパーティのフレームワーク、特にカスタムviewに頼りすぎず、自分でソースコードを理解して自分でdiyできるようにしたほうがいいです.
三.迷った君へ
以上、プラットフォームと原生Android開発のそれぞれの特徴と発展傾向を分析し、あなたの心の中にも答えがあると信じています.しかし、いくつかの発展路線が参考になります.
1.仕事を探すために:
MEANフレームワーク(MongoDB+express+angular+nodejs)スタックエンジニア
2.性能を考えると、必ずしも仕事を探しやすいとは限らない.
MERNフレームワーク(MongoDB+express+react+nodejs)スタックエンジニア
3.就職しやすい:
vue/angular 4+ionic 3フロントエンド開発
4.原生Androidが好きで、将来就職しやすい:
kotlin kotlinエンジニア
5.JavaでAndroidを開発するのが好き(仕事が探しにくい):
JAva Androidエンジニア
Ps:上記の部分は正しくないかもしれませんが、大神は通りかかってください.2018/5/15 1:50:00