【轉載】谷歌醞釀將蘋果Swift作為安卓APP主要開發語言

来源:http://www.cnblogs.com/salam/archive/2016/04/24/5427959.html
-Advertisement-
Play Games

TNW中文站 4月8日報道 安卓操作系統的軟體開發語言是Java,而在過去幾年中,有關Java的版權,谷歌(微博)和甲骨文之間發生了長期的訴訟。最新外媒消息稱,谷歌正在考慮將蘋果開發的Swift作為未來安卓軟體開發的“一級”語言,此外Facebook、Uber等公司也開始越來越重視Swift的使用。 ...


  TNW中文站 4月8日報道

 

  安卓操作系統的軟體開發語言是Java,而在過去幾年中,有關Java的版權,谷歌(微博)和甲骨文之間發生了長期的訴訟。最新外媒消息稱,谷歌正在考慮將蘋果開發的Swift作為未來安卓軟體開發的“一級”語言,此外Facebook、Uber等公司也開始越來越重視Swift的使用。

  據美國科技新聞網站TheNextWeb引述知情人士報道,此前蘋果Swift轉變為開放源碼語言,而谷歌、Facebook、和Uber三家公司的代表曾經在英國倫敦開會,專門討論Swift語言,谷歌決定逐步在安卓系統中採用這種語言。

  Java目前是安卓開發最為重要的語言。消息人士表示,至少在最初階段,Swift語言不會取代Java的重要地位。目前谷歌和甲骨文之間有關Java的訴訟仍在持續中,引發了外界隱憂,消息人士稱,谷歌認為Swift和Java相比有著廣泛的優勢。

  Swift目前是一種開源語言,這意味著谷歌可以將其應用到安卓軟體開發中,同時不改變安卓的開源移動架構。

 

  谷歌會這樣做嗎?

  Swift由蘋果公司開發,目的是取代古老的開發語言Objective C。Swift很快獲得了蘋果開發者的歡迎,據稱軟體代碼更容易編寫、沒有其他語言的複雜參數結構。

  Swift語言在2014年蘋果全球開發大會上發佈,隨後獲得了許多科技公司的支持,比如IBM、專車公司Lyft、Vimio、Pixelmator等都在使用Swift語言開發自己的iOS軟體。

  不過,Swift不能夠輕易到“拷貝黏貼”到其他操作系統上,如果谷歌要將其作為安卓開發語言,谷歌首先必須開發一個Swift的“運行時庫”,這還只是第一步。

  谷歌還要把整個的安卓應用軟體開發庫移植到Swift上,另外各種軟體開髮結構和開發包,都要支持Swift語言。據稱,目前安卓底層的開發介面採用C++語言編寫,Swift不能夠輕鬆相容,因此谷歌可能要重寫編寫這些介面的代碼。

  另外在使用Java高級開發介面方面,Swift語言也會遇到麻煩,谷歌需要做一些重寫代碼的工作。

  不過,將Swift作為安卓主要開發語言,從技術上並非不可能。去年底,知名軟體開發員Romain Goyet曾經試驗用Swift來開發安卓軟體,並且取得了成功。他的試驗發生在蘋果將Swift開源之前,但這也證明Swift可以用於安卓軟體開發。

  據悉,上述的試驗使用了“安卓NDK”工具,這一工具也能夠讓其他開發語言應用於安卓開發。不過,因為Swift已經轉變為開源語言,此外背後還有谷歌的支持,因此未來如果作為安卓主導開發語言,開發者可能不再需要這一工具。

  總體而言,如果使用Swift語言,谷歌可能要重新進行圍繞Java的相關工作。

 

  Kotlin語言

  消息人士還透露,谷歌也曾經討論是否將另外一種語言Kotlin作為安卓開發的一級語言。

  和Swift一樣,Kotlin也是面向對象的語言,更加關註軟體的安全性。不過和Swift不同的是,Kotlin能夠在谷歌提供的安卓開發工具“Android Studio”中。

  不過,消息人士透露,谷歌相關團隊目前認為Kotlin語言在進行編譯時,速度有些慢。

  Kotlin語言被認為能夠應用於任何Java語言運行的環境中,另外一些開發項目也能夠無縫支持混合使用Kotlin語言和Java。

  如果谷歌將Kotlin語言作為安卓開發主要語言,那麼谷歌需要做的移植工作相對少一些,但是開發者可能面臨艱難的過渡。

 

  Facebook和Uber

  因為Swift的一些技術優勢,Facebook已經開始重視這種語言。Swift的優勢之一,是能夠同時作為後臺開發和前端開發的語言。對於Facebook這樣的社交網路產品而言,這種特點很有幫助。比如移動應用軟體和服務其能夠無縫通信,另外Facebook也能夠更容易推出各種服務的開發介面。

  Facebook已經開始使用Swift進行開發。最近在開源項目存放服務Github上,出現了一個名為“Port to Android”的項目,由Facebook的員工開發。不過目前還不清楚這是否是Facebook官方正式的開發項目。不過可以證實的是,Facebook內部已經在使用Swift語言,只是不為外界所知。

  和谷歌、Facebook相比,移動專車公司Uber使用Swift語言的道路更加明晰。Uber在開發中也存在大量的服務端、開發介面等,不過競爭對手Lyft使用Swift,給Uber提供了一個參考的榜樣。

  

  何時會採用Swift?

  不過短期之內,Swift還無法作為安卓開發的主導語言,主要原因是安卓操作系統需要做好大量的準備工作。

  不過,Swift語言正在星火燎原。一些研究顯示,Swift目前已經成為全世界發展速度最快的程式開發語言,另外轉向開源之後,更是出現了火箭式暴增。GitHub披露,在其平臺上,Swift的流行度排名第11位。

  另外,市場對於Swift開發員的需求正在迅速增加,至少表明一些科技公司正在探索用Swift開發軟體。

  不過,谷歌安卓操作系統使用Swift的道路很漫長,其需要重寫安卓的每一個系統服務、軟體和開發介面。谷歌也必須提供很多的支持工作。

  另外,谷歌實際上已經在離開甲骨文主導的Java語言,谷歌已經在使用安卓的“Open JDK”,而不是甲骨文擁有版權的Java API,另外谷歌也開始考慮“後Java”的一些問題。

 

本文轉載自http://tech.qq.com/a/20160408/010216.htm


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文內容根據個人自學整理記錄,理解不當之處,希望大家批評指正,大家相互學習,寫學習歸納,寫博客是個好習慣,希望能夠堅持下去。 在前一篇文章當中介紹了 Android 的系統框架,主要是為了讓大家對Android 系統的內部層次結構有個清晰的認識,是開發 Android 程式開發的基礎。對 Andro ...
  • 閉包是可以在代碼中被傳遞和使用的自包含功能模塊,它很像c和oc中的block,和.net中的lambdasbas表達式。 閉包可以捕獲和存儲其所在上下文中任意常量和變數的引用。 包裹著這些常量和變數的包俗稱閉包。Swift會為您管理在捕獲過程中涉及到的記憶體操作。下麵是閉包的3中表現形式 全局函數是一 ...
  • 1、產品設計圖 可以以6的長寬比 750*1134來設計。這些圖片用於描述app是什麼樣子的,這是app開發人員的開發參考。 2、產品切圖 將設計師將設計稿切成可以用來開發的圖 顏色值 iOS顏色值取 RGB各顏色的值比如某個色值,給予iOS開發的色值為 R:12 G:34 B:56 給出的值就是 ...
  • title: 帶你實現開發者頭條APP(四) 首頁優化(加入design包) tags: design,Toolbar,TabLayout,RecyclerView grammar_cjkRuby: true 一 、前言 上次模仿開發者頭條首頁實現了一個版本,給 "345大神,我的產品經理" 一看, ...
  • 1、彈框出現在屏幕中間位置 此方法可以添加文本框,輸入內容 2、彈框出現在屏幕底部(兩種方式的不同點在於代碼第一行最後的,底部是UIAlertControllerStyleActionSheet) ...
  • 最近解析些複雜的節點數據解析,用安卓自帶的json解析比較麻煩所以只能用Gson解析,所以從網上下了點demo來看看 http://blog.csdn.net/tkwxty/article/details/34474501這個看看還不錯 例子代碼如下 ...
  • 給EditText追加ChangedListener可以監聽EditText內容變化的監聽 如圖是效果圖 類似於過濾的一種實現 1 佈局也就是一個EditText,當EditText內容發生變化時(當輸入數字時)就會出現一個PopupWindow通過ChangedListener來顯示監聽 2 數據 ...
  • Android開發中,常常會用到color.xml顏色配置,好的顏色配置可以讓尼的應用讓人看起來賞心悅目! 不羅嗦,上圖先 該工程已經羅列了常用的顏色配置 附上工程鏈接:http://download.csdn.net/detail/geniuseoe2012/5816967 什麼?還沒找到尼想要的 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...