1. 程式人生 > 其它 >androidframework開發,30歲以後搞Android已經沒有前途?看完直呼內行

androidframework開發,30歲以後搞Android已經沒有前途?看完直呼內行

今天,跟大家聊聊,Framework開發的那些事。

系統應用開發,現在來說,已經開始脫離系統,單獨拿出來開發,系統定製介面,已提供給應用呼叫,用來增強功能。

原生的桌面,撥號,設定,已經沒法做出差異化優勢,因此都費盡心機,來進行應用深度開發。

對於之前維護系統應用模組的人來講,修修補補,真的沒有什麼成長。每天的工作來說,沒有很深的技術壁壘,很容易被別人攻陷。

比如設定,比如聯絡人,在小的改動,修改故障的時候,沒有非常高的要求,做過應用開發的,都可以過來參合一腳,改改問題。而讓一個應用開發得去修改系統介面,估計改的心累,並且猶豫不決。

技術壁壘,也便是自己的競爭優勢。只有頑強的技術能力,並持之以恆的學習,擴充自己的深度,廣度,那麼你的位置則牢不可破,不會輕易被替代。

AWTK?主要特色:

1、跨平臺

AWTK 是跨平臺的,這有兩個方面的意思:

  • AWTK 本身是跨平臺的。目前支援的平臺有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux、Android、Web 和嵌入式裸系統,可以輕鬆的移植到各種 RTOS 上。AWTK 以後也可以執行在各種小程式和 iOS 等平臺上執行。
  • AWTK 同時還提供了一套跨平臺的基礎工具庫。其中包括連結串列、陣列、字串 (UTF8 和 widechar),事件發射器、值、物件、檔案系統、互斥鎖和執行緒、表示式和字串解析等等,讓你用 AWTK 開發的應用程式可以真正跨平臺執行。

2、高效

AWTK 通過一系列的手段保證 AWTK 應用程式高效執行:

  • 通過髒矩演算法只更新變化的部分。
  • 支援 3 FrameBuffer 讓介面以最高幀率執行 (可選)。
  • UI 描述檔案和主題檔案使用高效的二進位制格式,解析在瞬間完成。
  • 支援各種 GPU 加速介面。如 OpenGL、DirectX、Vulkan 和 Metal 等。
  • 支援嵌入式平臺的各種 2D 加速介面。目前 STM32 的 DMA2D 和 NXP 的 PXP 介面,廠家可以輕鬆擴充套件自己的加速介面。

3、穩定

AWTK 通過下列方式極力讓程式碼穩定可靠:

  • 使用 cppcheck 和 facebook infer 進行靜態檢查。
  • 使用 valgrind 進行動態記憶體檢查。
  • 近兩萬行的單元測試程式碼。
  • ZLG 強大 GUI 團隊的支援。
  • 經過多個實際專案驗證。
  • 多平臺 / 多編譯器驗證。
  • 優秀的架構設計。
  • Code Review。
  • 手工測試。

4、強大

  • 豐富的控制元件 (持續增加中)。
  • 支援各種圖片格式 (png/jpg/gif/svg)。
  • 支援各種字型格式 (點陣和向量)。
  • 支援視窗動畫
  • 支援控制元件動畫
  • 支援高清屏。
  • 支援介面描述檔案。
  • 支援主題描述檔案。
  • 支援控制元件佈局策略。
  • 支援對話方塊高亮策略。
  • 豐富的輔助工具。
  • 支援從低端的 Cortex M3 到各種高階 CPU。
  • 支援無檔案系統和自定義的檔案系統。
  • 支援裸系統和 RTOS。

5、易用

  • 大量的示例程式碼。
  • 完善的 API 文件和使用文件。
  • ZLG 強大的技術支援團隊。
  • 用 AWTK 本身開發的介面編輯器 (開發中)。
  • 宣告式的介面描述語言。一行程式碼啟用控制元件動畫,啟用視窗動畫,顯示圖片 (png/jpg/svg/gif)。

6、高度擴充套件性

  • 可以擴充套件自己的控制元件。
  • 可以擴充套件自己的動畫。
  • 可以實現自己的主迴圈。
  • 可以擴充套件自己的軟鍵盤。
  • 可以擴充套件自己的圖片載入器。
  • 可以擴充套件自己的字型載入器。
  • 可以擴充套件自己的輸入法引擎。
  • 可以擴充套件自己的控制元件佈局演算法。
  • 可以擴充套件自己的對話方塊高亮策略。
  • 可以實現自己的 LCD 介面。
  • 可以擴充套件自己的向量引擎 (如使用 skia/cairo)。所有擴充套件元件和內建元件具有相同的待遇。

7、多種開發語言

AWTK 本身是用 C 語言開發的,可以通過 IDL 生成各種指令碼語言的繫結。生成的繫結程式碼不是簡單的把 C 語言的 API 對映到指令碼語言,而是生成指令碼語言原生程式碼風格的 API。目前支援以下語言 (以後根據需要增加):

  • C
  • Lua
  • Javascript on jerryscript
  • Javascript on nodejs
  • Javascript on quickjs

8、國際化

  • 支援 Unicode。
  • 支援輸入法。
  • 支援字串翻譯 (實時生效)。
  • 支援圖片翻譯 (實時生效)。
  • 文字雙向排版 (計劃中)。

文末

我總結了一些Android核心知識點,以及一些最新的大廠面試題、知識腦圖和視訊資料解析。

需要的小夥伴私信【學習】我免費分享給你,以後的路也希望我們能一起走下去。(謝謝大家一直以來的支援,需要的自己領取)

[點選這裡也可以領取哦!](https://shimo.im/docs/3dQqpTdrrVvtcjjx/ 《BAT、位元組各大廠面試真題集》,可複製連結後用石墨文件 App 或小程式開啟)

  • 330頁PDF Android學習核心筆記(內含8大板塊)
  • Android學習的系統對應視訊
  • Android進階的系統對應學習資料
  • Android BAT大廠面試題(有解析)