Quantcast
Channel: 工程師 – TechOrange
Viewing all articles
Browse latest Browse all 585

【給 Coding 麻瓜的入門文】為什麼開發 Android App 前我得先認識 Java?

$
0
0

《TO》導讀:本篇作者為【橘子學院 Android App 開發課程】講師葉承達 Mosil,在 Android 開發深耕多年,目前為原力資訊顧問股份有限公司 Co-Founder,同時也是臺北 Google 開發者社群的共同發起人。

本篇開始會有一系列,針對想進入 Android 世界,卻摸不著頭緒,或是懵懵懂懂的朋友所撰寫的入門文章。內容會以科普文的精神,偏向簡易的 Java 概念以及 Android 的一點相關內容,盡可能減少大家的疑惑與門檻。若是您不知道到底要學 Android 前到底需不需要有 Java 的基礎知識的話,也許這系列可以幫到您一點小忙。

也歡迎大家一起加入討論,暢遊在 Android 的開發世界中!

  • 一開頭,我們先來簡單介紹一下 Android

Android 系統是源自於 2003 年 10 月,由有「Android 之父」之稱 Andy Rubin 和其他幾位共同創辦「Android Inc.」的夥伴建立。而 Android 是一套以 Linux 為核心所開發出來的作業系統,相信早年 (?) 投入 Android 開發的前輩、大大們都看過這樣的架構圖:
Android-System-Architecture.svg

Android 架構圖(來源:wiki

整個架構分成四大層,相信各位在其中並看不到任何跟 Java 相關的文字,而其中關鍵由下算上第二層的右邊區塊「Android Runtime」。這一塊的主要功能就是讓核心層可以看懂上面兩個應用層的翻譯,而該區塊中有一個名為 DVM (Daivik Virtual Machine) 的虛擬機器角色。

如果各位有點印象的話,有些網頁或是程式若是以 Java 編寫而成的,在其執行時,都會被提示要安裝 JVM(Java Virtual Machine) 這個工具,而 Daivik 就是在 Android 世界裡這麼樣的存在。而後來在 Android 4.4 以後,便由新的架構- ART (Android Runtime) 取代之。

  • 那這個跟 Java 有什麼關係呢?

相信很多人都知道 Android 的應用程式是由 Java 程式語言撰寫而成,而一般 Java 程式需要由 JVM 來翻譯、分派工作給系統核心去執行,而在 Android 的世界裡便是由 Daivik/ART 來擔任這個角色。

那為什麼要用 Java 來做為 Android 的應用程開發程式語言,我們可以從兩個面向來看:

一、使用者多

原本使用 Java 來開發的工程人員就不在少數了,在 Android 的推波助瀾下,更是常居前二的熱門程式!

最大的好處自然是 Java 開發者很容易就加入其中,不用再額外學習新的程式語言規則。而 Java 的資源與社群也一直都相當地多以及活躍,很容易取得支援。

123

資料來源:TIOBE (2016/01)

二、授權

這是保護程式開發者很重要的一個面向。若是直接用 C/C++ 開發,讓 Linux 核心去執行的話,應用程式若一個不小心直接使用到 Linux 的函式庫 (Library),那可能都會受到 Linux 的 GPL 的規範,而迫使要開發者要將原始碼給公開出來;對 Java 的程式碼則是另外用了 Daivik 來避開 Java 的授權規範。

嗯?您說 Google 不就是因為 Java API 的關係被 Oracle 告?

哦…那是後話了,就不在本篇討論了 XD

不過,當然要討論現在 Google 有沒有機會用其他語言取而代之,比方說 Go;或是像 iOS 再設計一個新的開發框架出來,這都是有可能的,因為…這就是 Google 的基因。但這就不會是一時半刻會發生的,這問題,現階段想想就好,不用太認真 XD

____________________

科技化時代來臨,多一項技能就是多一個保障。在各大產業都尋求數位化的時刻,會寫 App 或至少懂一些基本概念真的很、有、用!

如果你也跟我一樣:渴望抓住科技時代潮流不被淘汰,請不要錯過超紮實 24 小時的開發訓練!

臺北 Google 開發者社群共同發起人、資深安卓 Coder 手把手教學,快點來報名吧

app_600x100


Viewing all articles
Browse latest Browse all 585

Trending Articles