序文
Androidアプリ開発とフレームワーク開発といえばこれ!
ここで、多くの Android プログラマーが Android アプリケーション開発とフレームワーク開発について話し、それらの違いについて話します。善悪について議論する人が増えるだろう。
私自身の観点から言えば、現在、フレームワークの開発についてはより楽観的です。
ここにいる人の中には、私はアプリケーションを作るのがとても上手で、システムフレームワークをやっているあなたたちよりも劣っているわけではない、なぜ私がいたずらにシステムアプリケーション開発の価値を貶めなければならないのかと言う人もいるでしょう。ここで言いたいのは、そういうつもりで言っているのではなく、あなたのアプリはうまくいっていて、たくさんのお金を稼いでいるので、ここには何らかの要因があるはずだということです。たとえば、そのパフォーマンス、ゴージャスなインターフェイス、絶えず変化するテーマなどです。あるいはインテリジェントな認識機能などを備えています。厳しい包囲網を打ち破るための、輝かしい特色を持った差別化商品と呼ばれるものです。
しかし、現状ではアプリ開発は非常に安定しており、特徴的なアプリが数多く完成しており、ほとんどのアプリ開発では明るい点や特徴のあるものを作ることが困難になっています。
アプリケーション開発 V/S フレームワーク開発
-
給料:
- Android フレームワークの開発: フレームワークの開発には Android システムの基礎となる原理を深く理解する必要があるため、技術的に大きな課題があり、通常は給与レベルも高くなります。
- Android アプリケーション開発: アプリケーション開発は比較的簡単に始められますが、給与レベルはフレームワーク開発よりも低いことが多いです。
-
展望:
- Android フレームワークの開発: テクノロジーの継続的な発展に伴い、Android システムは常に更新され、反復されており、フレームワーク開発の需要は今後も存在します。同時に、フレームワーク開発能力を持つ開発者は市場に比較的少ないため、開発の見通しは良好です。
- Android アプリケーション開発: 市場競争が激化するにつれて、アプリケーション開発のニーズは変動する可能性があります。さらに、市場には多くのアプリケーション開発者が存在し、競争圧力は比較的高いです。
私の周りにもフレームワーク開発に携わっている人がいますので、自分と比べてみてください。
日々の仕事において、私はユーザー インターフェイス、ビジネス ロジック、機能の実現に注意を払う必要がありますが、友人は Android システムの基礎となる原理を深く研究し、システム パフォーマンスを最適化する必要があります。私の仕事は比較的習得が簡単ですが、友人の仕事はより難しく、テクノロジーの急速な発展に対応するために知識システムを継続的に更新する必要があります。
そして、私の友人の現在の給与は私よりも 3/1 高く、現在の市場環境では転職のプレッシャーはあまりなく、彼自身の言葉を借りれば「会社が彼を求めている」そうです。
また、同じ実務経験(通常は同じ学習時間)であれば、フレームワークが開発したプログラマーの技術レベルは少し高くなります。これがコストパフォーマンスの差なので、多くの企業はフレームワークを開発できるプログラマーに依頼したいと考えています。
なぜ今、これほど多くの人が簡単に解雇されるのでしょうか?
多くの人、特に年配のプログラマーは解雇され、排除されることを恐れています。
実際、年配のプログラマが排除されやすい理由は 3 つあります。
1. 出力容量がピークに達しました。この人は10年以上もがき続けて未だに何もしていない、この人の天井はこうであることは明らかで、ハッキリ言ってこれが才能だ。
2. 適応能力が低下している。高齢、家族がいる、昔ながらの揚げパン、学習能力の低下、外国貿易の困難など。
3.コストパフォーマンスが徐々に低下します。35歳になると基本的に年収は低くありませんが、生産能力は頭打ちになり、徐々に年齢が上がるにつれてコストパフォーマンスは低くなっていきます。結局のところ、古典的な文:代替可能性が高すぎるのです。将来性のある25歳は安く、才能に気づいた35歳はまだ高価、この2つの選択肢が似たとき、会社はどう選ぶでしょうか...上司になる人は誰でも前者を選ぶでしょう。そして、自分のかけがえのなさを高めるにはどうすればよいでしょうか?
端的に言えば、技術的な障壁、つまり自社の競争優位性が存在するはずです。粘り強い技術力、たゆまぬ学習、そして深さと幅の拡大があってこそ、あなたの地位は揺るぎないものとなり、簡単に置き換えられるものではなくなります。
フレームワークは優れた技術的障壁ですが、
私は優秀な Android エンジニアをたくさん知っていますが、彼らは最初から自分の弱点を明確に知っており、技術的な壁がなければ、その業界に長く留まるのは不可能です。
実際、習得が難しいものはあまり人に触られることがありませんが、一度習得すれば有利になります。
Framework と同様に、学習するのが難しく、学習する人が減り、競争圧力が低くなり、需要が高まります。そうすることで採用の主導権を握ることができるのではないでしょうか?
技術的な壁はすべてのプログラマーが追い求めるものですが、基盤となるフレームワークのソース コードが理解しにくいこと、この分野の学習教材が散在していて体系的でないことなど、多くのプログラマーにとって他の人の助けなしには技術的な壁を達成することは困難です。
ここでは、体系的な Android フレームワーク ソース コード開発の秘密を紹介します。これは、誰でもフレームワークを学ぶのに便利です。
「Androidフレームワークソースコード開発の秘密」
この学習マニュアルは、Android システムのソース コードを深く分析し、Android フレームワークの初期化プロセスと主要コンポーネントの動作原理を詳細に説明し、開発者が Android アプリケーションの設計と開発をよりよく理解できるように、例と事例を通じて Android フレームワークの中心となる概念とテクノロジを紹介することを目的としています。このマニュアルは、Android アプリケーション開発の一定の経験を持つプログラマーに適しており、開発者が Android フレームワークの詳細な学習を通じてこのテクノロジーをよりよく理解し、習得できるようにすることを目的としています。
第1章 システム起動プロセスの分析
Android システムの完全な起動プロセスは、システム レベルの観点から、Linux システム レイヤー、Android システム サービス レイヤー、および Zygote プロセス モデルの 3 つの段階に分けることができます。ナレッジ ポイント:
最初のセクション Android 起動の概要、
2 番目のセクション init.rc 分析、
セクション III 受精卵、
セクション 4 面接での質問
第2章 クロスプロセス通信のIPC分析
Android のプロセス間通信の仕組みとしては、Binder がドライバーとみなすことができます。Android では、システム クラスなどの一般的なプロセス間通信: 電話、目覚まし時計など、独自作成: WebView、ビデオ再生、オーディオ再生、大きな画像の閲覧など。
第 3 章 ハンドラのソースコード解析
セクション 1 ソースコード分析
第2四半期の難問
セクション 3 ハンドラーの面接でよくある質問