【轉載】谷歌醞釀將蘋果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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...