顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2016-04-09 18:02:05
看板 MobileComm
作者 ExpressCrass (煞氣a小宏)
標題 [新聞] Swift 將成 Android 主要語言?
時間 Fri Apr  8 17:43:14 2016


Swift 將成 Android 主要語言?Google 、Uber、Facebook 齊聚討論

http://wp.me/pKpPm-nvL

Swift 已經開源,根據 The Next Web 報導,可靠消息指出 Google 、Uber、Facebook
三位巨頭齊聚倫敦討論這個新語言,Google 考慮將 Swift 列為 Android 首要語言,
Facebook 和 Uber 也打算採用 Swift 作為運作核心。



目前 Android 的首要語言是 Java,至少初期他們沒打算直接取代掉 Java,不過因為最
近 Oracle 和 Google 的爭執,Swift 在這方面自然有了更大的優勢。而且 Swift 本來
就開源,所以 Android 不必改變它開源的手機架構。



Swift 在 2014 年的 WWDC 公布以後便廣受 IBM 及 Lyft、Vimeo 等 app 的支持,它沒
有又臭又長的參數設定,對開發者相當友善。但 Android 可不是直接複製貼上 Swift 就
好,還是要花一些時間來加工一下。Google 還得改造整個資料庫,並在 API 和 SDK 支
援 Swift,比如現在有些基礎 API 是 C++ 的,但 Swift 目前無法直接接上,一些高階
的 Java API 也需要重寫。



不過工程師 Romain Goyet 就曾經用 Android NDK 做出一些成果,而 Swift 當時根本還
沒開源,所以這是絕對可行的。而且只要 Google 願意下苦功,導入 Swift 應該不會影
響到 Android 本身的開源,也不會影響到原本的開發者。但目前對 Swift 有興趣的

Android 開發者並不多,雖然可能更方便維護開發,但要用 Swift 最好就是要全部重寫
,否則意義不大,因此 Android 能吸引多少開發者轉用 Swift 也將是一大挑戰。


對 Facebook 而言,採用 Swift 的好處是它可以用在伺服器端也能面向前端,一致性更
高,而 Facebook 的工程師在 Github 開了 Port to Android 的 pull request,雖然不

清楚這個和 Facebook 官方有沒有關聯,但至少能確定 Facebook 內部有開始在注意Swift。


Uber 方面,情況就簡單得多。雖然還是要重寫 app 或 API ,不過他們可以直接參考競
爭對手 Lyft 的成果。

不過這三家公司對於 The Next Web 的詢問,皆沒有正面證實,尤其 Google 和 Oracle
之間的官司還沒結束,因此不方便評論。

--

Swift可和obj-C一起用在OS X平台上面,這使得他在以unix based為基礎的OS X上有著不

錯的開發性,不得不說Swift有他簡單易用的優點存在,他的腳本語言能力讓寫code的

難度降低且使用Xcode的debug環境下Swift有著REPL功能這使他編寫code時有類似於Python

跟Ruby之互動功能,也減少了一些使用於obj-C的麻煩語法,去年年底Swift也已經變成

open source且支援linux,如果安卓願意使用swift來當作編寫app的主要程式的話其實

是樂觀其成的,畢竟Swift語法是這幾年個人認為蘋果為數極少的好產品。

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.51.38
※ 文章代碼(AID): #1N1tqsxE (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1460108598.A.ECE.html
molsmopuim  : 原來是Suzuki啊~我還以為是Swift呢~1F 04/08 17:46
shelizi     : google一堆語言可以選擇swift的優勢在?2F 04/08 17:48
a3619453    : 文中不是寫了嗎3F 04/08 17:49
james732    : pitt沒顯示問號,我還以為定案了,嚇了一跳XDD4F 04/08 17:51
icarus0508  : Dirt表示  白被開了5F 04/08 17:52
icarus0508  : 話說 現在大型程式都直接用C++了  才是真跨平台
icarus0508  :      Swift目前微軟也在支援開發中 更不要說蘋果
icarus0508  :   的確投資上比Dirt好    Java被捨棄中 而C#勢頭越
icarus0508  : 來越好
w3160828    : 有智產權的語言就只能死在智產法上10F 04/08 18:00
james732    : 甲骨文公司是不是為了java一直在告google?11F 04/08 18:01
icarus0508  : 當初JAVA 升陽公司為了自主性不去做語言認證 結果沒12F 04/08 18:01
icarus0508  : 想到被專業律師團甲骨文買下來 變成告人用道具
icarus0508  : 還有JAVA很多可以直接反組譯成程式碼  對於開放商
icarus0508  : 有點傷 很多阿六換皮遊戲就是這樣來的
icarus0508  : BTW在swift開源前微軟就已經在搞swift的支援了 所以
icarus0508  : 有心要換是做得到 但是陣痛一定不小
james732    : 容易反推應該是中間語言的缺點吧?不能完全怪java18F 04/08 18:10
james732    : 如果google改用C#就好了,語法也很像java
james732    : 不過google應該不會讓微軟這麼爽XDD
mainline    : 看看就好 這跟標題為JavaScript是世界最普遍的程式21F 04/08 18:12
mainline    : 語言有異曲同工之妙
icarus0508  : 所以當初蘋果直接用obj c底層語言也是有好處的 現在23F 04/08 18:12
icarus0508  : c#直接編譯成native也是有好處
icarus0508  : C@比java還像他們祖先C++
icarus0508  : C#
silence5105 : Oracle 不授權,加上 swift 最少可以寫 android, i27F 04/08 18:15
silence5105 : os 就算之後 wp 沒有支援 swift,java 跳 c# 不是
silence5105 : 難事
mainline    : BTW 甲骨文是美國龍頭科技業中的異類 指政治傾向及30F 04/08 18:15
mainline    : 商業行為上
silence5105 : 所以 google 找 swift 不是壞事,但最近 as 剛發布32F 04/08 18:16
silence5105 : 2.0又出現這新聞
icarus0508  : Xamarin都免費了 還有Unity. 且.net開源  又語言和c34F 04/08 18:16
icarus0508  : ++整合比較好   我看C#真的後勢看漲
mainline    : 而且這一篇完全媒沒提谷歌自家的最佳替代品36F 04/08 18:17
silence5105 : (補充,正式版37F 04/08 18:17
icarus0508  : AS 正式版 其實滿無感的…38F 04/08 18:18
shelizi     : 那麼多語言可以選擇我不覺得swift會是第一優先拉39F 04/08 18:19
erspicu     : Xamarin沒免費 是很爛的受限版本才免費40F 04/08 18:19
silence5105 : 2.0一些細節有變,然後會先偷 build,build 第2,341F 04/08 18:21
silence5105 : 次會更快 run 旁邊會有閃電
silence5105 : 另外單純更新2.0沒用,要連 gradle 也更新
james732    : 甲骨文是不是很不擔心java沒人用啊?44F 04/08 18:23
silence5105 : 目前看起來是這樣...45F 04/08 18:24
james732    : 如果當年買下java的是google的話就沒這麼複雜了XDD46F 04/08 18:26
silence5105 : 但是這些都是工具,其實習慣就好了,寫 android 這47F 04/08 18:28
silence5105 : 幾年變化本來就不小,如果可以趁機換個通用的也不
silence5105 : 是壞事
DiChik      : 我贊成Google的Android換掉JAVA.......50F 04/08 18:30
DiChik      : 單就JAVA效率上..真的不好
icarus0508  : Dirt是google本來的方案52F 04/08 18:31
icarus0508  : 直接C++了啦  全部通用
DiChik      : Swift剛好是目前更有效率且更通用的一個語言54F 04/08 18:32
DiChik      : 雖然現在選擇很多,但整體上若改用Swift
DiChik      : 比較不會惹上其他的麻煩XD 就陣痛期要過一過罷了
DiChik      : 全改回C++嘛....XDD
james732    : 話說google完全放棄了go語言嗎?58F 04/08 18:33
icarus0508  : 反正 前50名程式都是c++ 而且又跨平台 效能又好59F 04/08 18:35
mainline    : 還有就是從被O掌控換成被A掌控 這不傻了嗎 何況自家60F 04/08 18:36
mainline    : 又不是沒好貨 雖然都開源 但不能自在往想要的方向主
mainline    : 導 chromium從webkit branch變fork就是這原因
DiChik      : 效能來說,我真心覺得JAVA是個又臭又長的語言63F 04/08 18:39
DiChik      : 拿來作行動裝置OS的語言...很麻煩 (現在就是)
mainline    : 我說的就是Go 活的好好的65F 04/08 18:39
james732    : 可是我還挺喜歡java的說,python這種我寫不慣QQ66F 04/08 18:40
james732    : google不會把go語言用在android上嗎?
DiChik      : JAVA拿去某些地方還不錯,不然當初也不會崛起68F 04/08 18:42
DiChik      : 不過如果要講求效率跟效能就...
james732    : Android要跨平台,app就不可能弄native吧?70F 04/08 18:43
icarus0508  : JAVA起來有他的時代背景  現在只剩幾家公司平台了71F 04/08 18:43
icarus0508  :   加上人心要效率  所以…
mainline    : 會73F 04/08 18:44
mainline    : 啊 好像有在試玩
icarus0508  : 大型專案 都是分兩層寫程式  一層是共用 一層是底層75F 04/08 18:45
icarus0508  : api  現在大專案都是都用C++寫 下層在接系統api
james732    : 突然想到之前ART號稱比davlik有效率但挺無感的…77F 04/08 18:45
DiChik      : 當然,不否認JAVA先行多年不是現在環境能比較的78F 04/08 18:46
DiChik      : 不過即使到了現在....用JAVA的其實還是不少XD
DiChik      : (如果不是講求效率的話)
icarus0508  : 可以參考 ue4的程式碼 是開源的81F 04/08 18:46
DiChik      : 我只能說,Android如果不換掉JAVA...82F 04/08 18:49
DiChik      : 還是很難跟得上iOS原本優勢的地方
DiChik      : 效率差太多了
james732    : iOS又不用考慮跨平台QQ85F 04/08 18:50
nnkkman     : 這時候就要說我不會C++86F 04/08 18:51
james732    : 誰敢說自己會c++,那是個越學越不會的語言XDD87F 04/08 18:52
icarus0508  : 安卓也不用考慮跨平台啊 系統核心一樣的88F 04/08 18:53
mainline    : 理論上要完全native除非compile就得用不同的compile89F 04/08 18:54
mainline    : r才行 ART的AOT其實已經算是native 不過把不用同ISA
mainline    : 的優化交給手機上自載的特定架構compiler 但是N又改
mainline    : 了 好像是改成AOT/JIT複合式的由ART負責管理安裝時
mainline    : 可只整理概要 系統空閒時會把部分推測常使用部份com
mainline    : pile
DiChik      : C++...其實如果是我我也不會想回頭...95F 04/08 18:55
KotoriCute  : Google有微軟過敏症,要他們用C#不如教他們去死XD96F 04/08 18:57
icarus0508  : 雖然我不會C++可是每天要和它為伍XD  畢竟大專案只97F 04/08 18:57
icarus0508  : 會C++
DiChik      : 推KotoriCute XDDDD99F 04/08 19:00
KotoriCute  : Google開發Golang不用為了用在Android上100F 04/08 19:01
KotoriCute  : Google開發Golang不是為了用在Android上
KotoriCute  : Golang的目標是雲端和伺服器
mainline    : icarus大 ISA不一樣啊 你提到的下層C++ compile出來103F 04/08 19:03
mainline    : 的so不就是一個架構一種嗎 單是ARM自己在安卓史上就
mainline    : 有三款架構來了
mainline    : 其實我也有C#過敏症 Go的開發確不是為了安卓 沒錯
icarus0508  : 所以該在那裡統一啊 不然開發者麻煩 消費者inconsis107F 04/08 19:04
icarus0508  : tance
icarus0508  : 現在開發安卓 比開發pc ps4還麻煩 要測的東西多很多
icarus0508  :    其實是把開發者推向ios
mainline    : 沒辦法啊 那是處理器的machine lang 舉例ARM A是蹲111F 04/08 19:11
mainline    : 下 B是站立 C是半蹲  Intel B才是蹲下 MIPS 根本不
mainline    : 會半蹲
icarus0508  : 所以要限制。 系統支援的晶片  不然不叫自由 只是在114F 04/08 19:13
icarus0508  : 衝康
icarus0508  : 現在安卓生態比早期window還零碎 對長遠不是好事
mainline    : 我已不知道該怎麼回文了 加油117F 04/08 19:29
balcony5566 : 文組看不懂路過118F 04/08 19:32
DarenR      : 沒學過程式…119F 04/08 19:34
doranako    : 樂見,不過難度很高120F 04/08 19:47
doranako    : 微軟跟蘋果把持系統不開放,安卓開放讓系統廠修改
doranako    : 才造成混亂,有些這台可以跑那台不能跑
mmppeegg    : C#超有趣的123F 04/08 21:36
wuliou      : 好懶得再多學一個語言orz Python不好嗎 囧124F 04/08 21:46
uland26922  : 看來又有多學一種呢125F 04/08 22:14
fasthall    : 這種平台如果用C++這種沒GC的東西市集一定很慘126F 04/09 00:33
bearq258    : 這種高階程式語言大同小異 關鍵是開發IDE127F 04/09 00:47
icarus0508  : 現在就很多用c++了  有memory leak市集是無法上架128F 04/09 00:48
icarus0508  : 的
bearq258    : ios 有xcode ,google 應該幫忙發展一套更好的工具130F 04/09 00:49
marc47      : 誰說java被捨棄,現在要改用java open sdk131F 04/09 03:41
marc47      : 拿一個對手專長的language開發,不就跟當年拿java
marc47      : 來寫android一樣
DemonElf    : 都有甲骨文這前車之鑑了,再換去採用一個蘋果把持的134F 04/09 05:03
DemonElf    : 架構根本邏輯不通
cser945     : 能cost down才是重點136F 04/09 08:46
ReitaHey    : Google用C#幾乎是不可能的事 光看Google對微軟這麼137F 04/09 14:11
ReitaHey    : 恐懼就知道了

--
※ 看板: K_hot 文章推薦值: 0 目前人氣: 0 累積人氣: 55 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇