2017年,阿里巴巴開源那些事

摘要: 這是一篇2017年阿里巴巴重大開源動態的總結文章。

自從2011年宣布第一波開源項目以來,阿里巴巴的技術人一直積极參与開源社區共建。開源項目數量每年都有所增長,目前阿里巴巴已經有150+個開源項目,其中數個項目 star 破萬。相關的 GitHub 2017年數據統計顯示,阿里巴巴是唯一一家入圍 GitHub 頂尖貢獻名單的中國公司。

在開源中國舉行的「2017年度最受歡迎中國開源軟體Top20」的評選中,阿里巴巴佔據五席位。

其實,阿里巴巴並沒有開源項目的KPI考核,各個團隊都是發自內心地將踩過的坑和總結的經驗融入到開源項目中,供業界所有人使用,希望幫助他人解決問題。這正是社區一致的開源精神,大家都可以站在巨人的肩膀上,每個人都可以即是老師又是學生,這或許可以解釋為什麼IT技術的發展能如此充滿活力。

本文總結整理了2017年阿里巴巴九個重要的新開源項目和在開源中國評選中五個備受歡迎的項目,希望能對大家有所幫助。在此,特別感謝阿里技術人和社區粉絲們的辛勤付出。

互聯網時代的用戶端

隨著Web2.0、Web3.0時代交迭,無線端硬體性能的提升與用戶體驗理念的倡導,Web站點與應用變得越來越重要與複雜。這一點可以從JavaScript的熱度變化看出來:JavaScript、 Java、PHP同樣誕生於1995年,但是三者卻經歷了不同的發展曲線。JavaScript不斷發展,熱度漸漲聲名鵲起,GitHub的JavaScript語言編寫的開源項目共計23萬個位列第一,是第二名Python開源項目的2.3倍,並且遠超Java和PHP開源項目總和。JavaScript被越來越多的使用,AJAX使得它在前端編程中大放異彩,而Node.js也讓人開始關注JavaScript在伺服器端開發的能力。

阿里巴巴向社區貢獻了兩款企業級開源項目: UI設計語言和React實現項目Ant Design、Web基礎框架Egg.js。

Ant Design,前端的美好呈現

Ant Design提煉自螞蟻金服的中後台設計經驗:在產品交互和視覺風格上,它秉承「微小 · 確定 · 幸福」的理念,追求提升用戶和設計者的使用體驗;積累了豐富、靈活、使用的基礎組件,並準備了常見問題的解決方案;使用TypeScript支持完整的類型定義,採用高質量React組件可以開箱即用,並且基於npm + webpack + dva 的企業級開發框架。

回顧2017年,Ant Design主要做了三件事情:

  • Ant Design 2.x 版本持續迭代,版本從 2.6.0 迭代到 2.13.11。
  • 10 月推出了 Ant Design Pro 的前端腳手架,對中後台常用的場景提供了最佳實踐。
  • 12月初發布了 Ant Design 3.0,帶來了全新的設計體系和大量新特性。發布日誌可見:medium.com/ant-design/a

在開源兩年多的時間裡,Ant Design一直通過收集設計和研發的需求進行不斷改進。設計師團隊不斷優化和改進Ant Design的設計規範,視覺效果整體調整也體現在本次3.0新版本中。而研發層面則會聽取內部與外部的各種業務需求:向社區公開項目開發的長期規劃,尤其是主要目標和破壞性改動,並且日常性地通過釘釘群和GitHub中收集大量新需求和問題報告,

與社區保持密切互動。項目有小版本研發的固定周期,每周都會發布bugfix版本,每月發布minor版本。

Ant Design是 React 社區最流行的 UI 組件庫之一,除了阿里巴巴集團,還有騰訊、百度、美團、滴滴和餓了么等公司在使用。目前Ant Design在GitHub上擁有21485顆star,是開源中國評選的2017年度 Top20最受歡迎中國開源軟體。

Ant Design負責人偏右表示,在此次發布Ant Design 3.0之後,項目已經相對成熟,會進進入較長的持續維護階段,暫時預計不會有巨大的變化;團隊將在視覺布局和主題配置、國際化、集成化上補齊Ant Design Pro 的功能,推動其實踐落地。

相關鏈接:ant.design/ pro.ant.design/ github.com/ant-design/a

企業級Web基礎框架Egg

企業開始採用微服務架構,這涉及到服務顆粒、API介面、開發維護等具體任務,前端與後端不得不面對「應該更考慮用戶側的靈活體驗,還是更加配合後端服務的通用性」的爭執。Node.js在近幾年的蓬勃發展中,慢慢改進了很多被人詬病的黑點:生態上npm包數量冠絕全球,改進單線程問題,藉助ES規範逃離回調地獄,成熟的TypeScript帶來類型系統,性能也得以持續優化。

但是,非常遺憾的是,Node.js的基建成熟度與生態熱度並不匹配,Node.js本質上依然似個新生兒:工業界的Web框架實踐寥寥無幾;社區重複造輪子,而且缺乏統一參考規範,帶來很多重複、不合理使用的問題;相比應用,Node.js的基礎技術研究依然很少,如何保證高可用成為重要問題。

阿里的Node.js應用始於2011年,經歷了重複造輪子等上述困擾之後,開始認真思考起來「如何既能統一生態共建,又能支持差異化定製」。於是,Egg應運而生,其名寓意「孕育」,是期望成為一個Web開發基礎框架,以幫助各團隊在Egg之上搭建適配業務的上層框架。Egg沉澱自大規模企業應用的工程實踐經驗,包括多年穩定支撐天貓雙11大促;也經歷了三年四個版本的微內核打磨。

Egg 基於 Koa,但又完全有別於 Sails / LoopBack 等上層框架, Egg 位於它們之間的中間層,提供『微內核 + 插件機制 + 框架定製能力』,提供了一套統一的約定,為上層框架服務。Egg是漸進式開發,極具伸縮性,因此既適合個人小項目快速開發,也適合企業級的團隊開發協作。

雖然剛剛開源一年,但是Egg已經收到500+(主庫272)Pull Request,並處理了1200+個issue,發布了40+篇共計10萬餘字的官方文檔。在GitHub上收穫6k+ star,Egg官網PV近萬。在阿里巴巴內部,Egg服務了500+前端開發者和1000+應用;而在外部,Egg收到了來自百度、騰訊、全民直播、丁香園等多家公司共計90多位技術人員的改進反饋,甚至收到了Node TSC Director Rog Vagg在Twitter上的關注與轉發 。

未來,Egg會將重心放在開發者體驗方面的優化上,並且分享更多的最佳實踐。

這裡還需要濃墨重彩地講講阿里的Node技術積澱:除了阿里內部的1000+應用,阿里技術人同樣進行了Node.js底層排坑工作,也與Intel探討如何進一步提高Node.js性能。此外,阿里最近剛剛發布Node.js性能平台,作為企業級性能解決方案,它提供免費的Node.js 運行時 + 監控診斷服務。

相關鏈接:eggjs.org/ node.console.aliyun.com

自2007年蘋果推出iPhone以來,智能手機的普及開啟了移動開發時代,App開始承載越來越多的業務場景,但這也同樣給開發帶來了不小的挑戰。

靈活的Android開發框架Atlas

和大部分開源項目一樣,Altas也是為了解決阿里自身遇到的問題。伴隨著手機淘寶的不斷發展,研發團隊規模擴大,功能愈發複雜,需要端側業務的快速迭代;而開發、運行和運維中遇到的問題不斷增多,也需要及時進行線上bug修復。於是手淘團隊開始思考如何將複雜事情簡單化,如何進行動態部署,提升團隊的移動開發效率。

Atlas以容器化思路解決大規模團隊協作問題,適用於Android 4.x以上系統版本的大小型App開發,並且支持動態發版。一般而言,業界常用解法是插件化框架,但是考慮到復用性,Atlas採用的組件化模式,將業務拆開並復用公共部分。項目借鑒服務端的OSGI思想,將業務拆出來獨立成bundle,隔離解耦運行,從而實現並行開發、快速迭代和動態部署。

.Altas源自阿里巴巴移動團隊五年的研發積累,進行了靜態組件化和動態組件化的技術準備。在今年正式開源之後,Altas基本上保持了每兩個月發布一次大版本,同時做到內部和社區使用同一套代碼。Altas完善了穩定性、工具鏈升級及dexpatch等方面,具體而言,三個重大的功能點是:動態部署新增component支持;dexpatch功能;bundle間的view復用。

作為初來乍到的開源項目,老實說,Altas最初並沒有做的盡善盡美,由於項目具有較高的門檻,再加上文檔不夠完善,Demo簡陋,所以遭遇了較多吐槽。Altas隨即緊急決定建立一個釘釘群,一邊幫助開發者更快的理解和接入Atlas,一邊完善文檔和Demo。據悉,目前基本上內部很多安卓App都使用了Altas(如天貓、淘寶、蝦米、優酷、阿里雲),而外部至少有三款接入Altas的App上線,這是令Altas團隊非常開心的事情。

Atlas的願景是「帶你重返App開發的田園時代」。未來,Altas將繼續完善文檔、升級工具鏈,降低接入成本、提升穩定性與兼容性,並且還會推出配套的Emas for Atlas商業服務,並便於服務端的發布。

相關鏈接:

atlas.taobao.org/ github.com/alibaba/atla

構建高性能的分散式系統

業界同樣見證了的從大型機到分散式系統的趨勢轉變。大型機部署簡單,無需多個節點配置,但是售價高、維護困難、單點依賴較高;而PC組建的分散式系統則在降低成本的同時提高整體的並發量、擴展性和可靠性。相信不少人都聽說過資料庫連接池Druid,json解析fastjson,消息中間件RocketMQ,分散式RPC Dubbo這幾個開源項目;今年還有剛開源的飛天緩存ApsaraCache,自研富容器技術Pouch和文件分發系統Dragonfly。

分散式服務治理框架Dubbo重大升級

Dubbo一個基於Java的高性能RPC框架,早在2012年開源,自開源以來深受國內友商和開源愛好者的青睞,雖然一直陸續在維護,但是由於用戶群體龐大,日常維護根本無法完全滿足社區的旺盛需求。隨著阿里技術的發展,在保證集團內部和客戶服務之外,如今可以抽調更多經歷將技術賦能全社會。

今年Dubbo重啟維護並進行了重大升級,Dubbo2的設計原則強調擴展性、使用輕量及對開源外圍系統和協議的適配,它不僅修復了優雅停機、註解配置等一些框架缺陷,還新增了通信模塊和線程堆棧特性等,框架穩定性有了大幅提升。具體而言,Dubbo今年發布了 2.5.4, 2.5.5, 2.5.6, 2.5.7, 2.5.8 等五個版本,主要修復、合併了社區呼聲最高的 issue 和 Pull Request,另外主要做了以下的增強:對 Netty 4 的支持、annotation 的增強、Java 8 的支持、docker 的支持。Dubbo還會繼續完善,如Dubbo Spring Boot starter、RESTful 支持,優雅部署,容錯增強,路由策略增強以及非同步化增強等。

除了框架本身,Dubbo 團隊還重建了官網 (日均 PV 3500+),更新了文檔。為了進一步的擴大影響力,對官網、文檔、代碼開始英文化的工作,並初見成效,著名的技術博客 baeldung 發表了對 Dubbo 的深度介紹 Introduction to Dubbo,並參與了開源中國、InfoQ 的訪談和宣講等活動,併入選開源中國 2017 年度最受歡迎開源軟體Top20。

Dubbo之所以進行了重大升級,是因為觀察到與 RPC 特別相關領域的技術趨勢,未來主要會著重向 Cloud Native、多語言增強、微服務支持等幾個方向演進,同時Dubbo還會不斷建設生態系統和社區以及打造國際影響力。

歡迎大家來gitter.im/alibaba/dubbo github.com/alibaba/dubb和Dubbo的開發團隊一起探討。

分散式消息中間件RocketMQ

今年9月,Apache軟體基金會官方宣布,阿里巴巴捐贈給Apache社區的開源項目RocketMQ從Apache社區正式畢業,成為Apache頂級項目(TLP)。自此,Apache RocketMQ成為國內首個非Hadoop生態體系、國內首個互聯網中間件的Apache頂級項目。今年,RocketMQ還斬獲了第十二屆中日韓開源軟體技術優勝獎和開源中國的「2017年度最受歡迎中國開源軟體Top20」。

RocketMQ是阿里巴巴在2012年開源的第三代分散式消息中間件,商用版MQ可在阿里雲上獲得。歷年雙11,RocketMQ都承載著阿里巴巴生產系統100%的消息流轉,以去年雙11為例的, RocketMQ完成了1.2萬億消息精準低延遲投遞,交易峰值高達17萬筆/秒。

RocketMQ來自於中國,但已經引起了全世界範圍的關注。RocketMQ不僅斬獲2015年中日韓開源論壇的CJK OSS大獎,並且已經進入歐美主流開源門戶網站的視野,目前100多家公司和科研機構正在使用RocketMQ。值得一提的是目前美國是RocketMQ全球第二大訪問國。

作為一款分散式消息引擎,RocketMQ有如下特性:

  • 低延遲、高並發:99.6%以上的響應延遲在1毫秒以內
  • 面向金融:滿足跟蹤和審計的高可用性
  • 工業級適用:可確保萬億量級的消息發送
  • 中立性:支持多種消息傳遞協議,如JMS和OpenMessaging
  • 性能可靠:給予足夠的磁碟空間,消息可以累積存放而沒有性能損失。

相關鏈接:rocketmq.apache.org/ github.com/alibaba/rock

資料庫連接池 Druid 和JSON庫Fastjson

Druid是阿里唯一使用的資料庫連接池,支持雙十一等最嚴苛的使用場景。Druid有一句slogan是「為監控而生的資料庫連接池」。經過六年開源積累,已經相對成熟的Druid收穫了不小的知名度與口碑,並陸續成為很多技術團隊解決方案中的關鍵環節。

Fastjson在服務端開發、Android客戶端中廣泛使用,阿里幾乎每個Java應用都用到了fastjson。

這是一個高性能功能完善的JSON庫,通過「假定有序快速匹配」的演算法,把JSON Parse的性能提升到極致,堪稱目前Java語言中最快的JSON庫。Fastjson介面簡單易用,已經被廣泛使用在緩存序列化、協議交互、Web輸出、Android客戶端等多種應用場景。

這兩個相對而言比較成熟的項目,今年並沒有大的功能變更,都是每個月根據社區中反饋的issue發布小版本。未來,Druid後續會增強監控功能,監控功能和阿里雲相關監控產品對接。其中的Parser模塊會剝離出做一個項目大力發展。

相關鏈接:github.com/alibaba/drui github.com/alibaba/fast

雲資料庫Redis分支 ApasaraCache

ApsaraCache(飛天緩存)是雲資料庫Redis版所使用的Redis分支,是在社區 2.8 版本基礎上開始維護的分支,並 backport 了部分 3.0 分支的功能,該版本主要解決了雲上用戶對穩定性、性能、災備和平滑升級體驗的訴求。

據了解,其實在ApsaraCache開源前,該方案就已經擁有很多成功的客戶案例,其中既有視頻直播行業的秒拍、一直播、映客、中國網路電視台;也有遊戲行業的陌陌遊戲、龍淵網路、中情龍圖、暢遊;同時還有民生類的新聞如今日頭條、交通如高德導航、金融如螞蟻金服、其他如大疆創新,可以說,應用範圍和場景非常廣泛。

ApsaraCache已經有很多成功的客戶案例了,為什麼要開源呢?原因在於:

  1. Redis在中國的用戶群體和使用方式都發生著深刻的變化,遵循極簡哲學設計的Redis在某些場景下的穩定性和性能都受到新的挑戰,另外很多雲上客戶在使用Redis的過程中也碰到了各種各樣的問題,基於這些問題和挑戰,ApsaraCache對Redis進行了大量的重構和改造,為了賦能Redis用戶,也為了讓Redis開發愛好者能夠更好地參與進來,我們決定對ApsaraCache進行開源。
  2. Redis是BSD License,相對比較自由;最新版本Redis 4.0支持Redis Module功能,而Redis Module屬於AGPL License,ApsaraCache後續也會支持Redis Module機制並開源功能Module代碼。所以ApsaraCache開源也是對開源協議的尊重與遵守。
  3. ApsaraCache一直在等待Redis 4.0 Release版本的發布,待該版本發布之後會積極推動兩邊feature的融合,爭取merge到社區主幹。

Redis創始人Salvatore認為,ApsaraCache項目開源是一件非常好的事情,將能夠吸引全世界更多Redis核心專家參與,進一步提升產品的穩定性和可用性。同時,也表明阿里巴巴擁有Redis產品開發的能力,希望未來我們一起努力提升產品的各種功能和特性,給Redis帶來更多更好的改進。

ApsaraCache於今年10月份正式開源,據悉,其即將發布新版本會新增兩個功能: 解決了AOF Rewrite頻繁造成的主機穩定性瓶頸,且支持精確到秒級的按時間點恢復;解決了原生內核在弱網條件下容易複製中斷導致的全量同步問題。

相關鏈接:github.com/alibaba/Apsa

自研富容器技術Pouch和文件分發系統Dragonfly

Pouch是阿里內部自研容器技術,目前數據中心運行有數十萬個Pouch容器,大規模支撐內部離線在線業務的混部。

首先,Pouch是一種富容器技術,內部應用體驗類似虛擬機,擁有init進程,富含多種系統服務;其次,通過內核加固與輕量級虛擬機支持,Pouch提供豐富的安全隔離保障和隔離維度;在鏡像分發上,特別是超大規模場景下可通過P2P的方式緩解網路負載;在內核兼容性方面,更加符合企業現狀,考慮到大部分企業IT系統內核的升級緩慢、版本較低,最大限度適配現有底層基礎設施。

Pouch與Dragonfly使用架構圖

以往大家常用傳統的方式來下載文件,這帶來兩個問題:首先如果遇到特別大的文件,下載失敗就要重試,效率低下;其次如果客戶端進行大規模下載, 會把文件源壓垮。

Dragonfly中文名「蜻蜓」,蜻蜓是通過P2P方式來下載文件,有效的緩解了文件源的壓力, 同時還支持斷點續傳,即使因網路環境導致失敗,也無需反覆下載文件。蜻蜓的另外一個特點是與Docker、Pouch等技術的集成,它具備鏡像預熱等功能,Docker原生的下載鏡像速度慢,而採用P2P技術的蜻蜓很好地解決了這個問題。

蜻蜓P2P容器鏡像分發示意圖

蜻蜓可以滿足Docker或者Pouch使用者的較大下載量(如大鏡像文件)需求。而對於具備海外節點,蜻蜓也可以節約跨國帶寬的。

據悉蜻蜓有兩個版本:開源版,支持Apache 2.0協議,可用於P2P文件分發、容器鏡像分發、局部限速、磁碟容量預檢;企業版則還具備斷點續傳、全局限速、鏡像預熱、支持內存文件系統、智能網路流控、智能動態壓縮、智能調度策略等功能,該版本內置在雲效、阿里雲容器服務(公共雲、專有雲)之中。

相關鏈接:github.com/alibaba/pouc github.com/alibaba/Drag

源自最佳實踐的參考規範

《阿里巴巴Java開發規約》

程序員的交流是通過代碼,代碼的質量好壞與工程、團隊效能息息相關。

阿里眾多資深技術專家與代碼規約人員共同潛心研製了一套Java規約守則,並將對應規則研發了自動化檢測工具(DE檢測插件(IDEA、Eclipse))。如此可以使得開發者更加方便、快速將規範推動並實行起來。該插件在掃描代碼後,將不符合規約的代碼按Blocker/Critical/Major三個等級顯示在下方,甚至在IDEA上,我們還基於Inspection機制提供了實時檢測功能,編寫代碼的同時也能快速發現問題所在。對於歷史代碼,部分規則實現了批量一鍵修復的功能。

Java代碼規約正式以插件形式公開走向業界,並引領Java語言的規範之路。目前,插件已在雲效公有雲產品中集成。

阿里巴巴P3C項目組會長期更新與維護插件,團隊也希望更多的人參與進來,除了發現和解決已實現的檢測規則以外,能夠實現更多有益的規則,讓插件變得更加完善並且幫助到更多的開發者。

相關鏈接:github.com/alibaba/p3c

分散式消息領域的國際標準OpenMessaging

OpenMessaging項目由阿里巴巴發起,與雅虎、滴滴出行、Streamlio公司共同參與創立,項目意在創立廠商無關、平台無關的分散式消息及流處理領域的應用開發標準。據發起人介紹,隨著標準的不斷演進,會有更多的互聯網、雲計算廠商參與到該項目以及生態體系中來。

OpenMessaging的價值有哪些呢?

在雲計算時代,消息通訊已經成為現代數據驅動架構的關鍵環節,消息中間件可以連接數據源、數據處理引擎和應用程序。然而,全球範圍內,消息領域仍然存在兩大問題:一是缺乏供應商中立的行業標準,導致各種消息中間件的高複雜性和不兼容性,相應地造成了公司的產品低效、混亂和供應商鎖定等問題。二是目前已有的方案框架並不能很好地適配雲架構,即非雲原生架構,因此無法有效地對大數據、流計算和物聯網等新興業務需求提供技術支持。

OpenMessaging拋棄歷史包袱,輕裝上陣,期望能解決這些弊端。除了做到可以鏈接跨平台、跨語言、跨產品和跨雲的標準之外,OpenMessaging將提供Cloud Native的能力,面向雲計算、混合雲架構,實現多雲平台無縫遷移,致力於提供金融、電子商務、IoT及大數據等領域的一站式解決方案。

github.com/openmessagin

物聯網時代

早在1982年,卡內基梅隆大學就在探討智能設備的聯網,這可以算作IoT早期概念的誕生,不過其普及流行還是近些年的事情,2005年國際電信聯盟發布了《ITU互聯網報告2005:物聯網》,其中指出「物聯網」時代的來臨。Gartner統計數據顯示2016年IoT設備使用數量是64億,並預計該數據在2020年上升至204.1億。

新一代物聯網操作系統AliOS Things

作為一個相對新興的領域,物聯網相關技術的發展依然可圈可點。操作系統市場呈現高度碎片化,很多人採用傳統嵌入式的RTOS,也有人研發新的物聯網操作系統,但是這兩者存在不少的痛點:開發維護成本高,硬體生態/開發工具/功能組件不豐富,系統安全和可靠性無保證,雲端一體應用開發部署難實現等。

AliOS Things是針對上述痛點而研發的新一代物聯網操作系統:通過提供安全、可靠、可擴展和高度優化的基礎OS, 豐富而有差異化的功能特性和開發工具,雲端一體化的應用框架,致力於為廣大物聯網開發者賦能增效。

AliOS Things是業界中最廣泛應用的輕量級消費類、連接類和控制類MCU的物聯網操作系統。值得一提的是,AliOS Things依託阿里雲,基於生活、城市、工業等所有主要物聯網應用領域等IoT開放平台,實現了安全設備管理和升級、語音識別、雲端一體開發和全鏈路優化等高階應用。目前,AliOS Things已經被移植到包括意法半導體(STMicroelectronics)、樂鑫(Espressif)、博通(Beken)等17家國內外晶元廠商的21款晶元之中。

AliOS Things自今年十月份開源以來已經推出3個主要版本,並長期保持穩定的更新節奏;項目有豐富的文檔和活躍的開發者社區,目前項目官方網站日均PV 1500+,收到了大量的反饋。AliOS Things 目前已經作為阿里雲所有物聯網業務設備端上能力的集成平台推出,並在多個業務項目成功落地。

相關鏈接:github.com/alibaba/AliO

輕量化操作系統AliOS Lite

繼AliOS Things開源,AliOS還有將開源AliOS Lite。AliOS Lite是面向IoT領域的輕量化操作系統,支持更多任務處理,支持語音交互、視覺計算等智能處理,適用於CPU性能和內存需求較低(最低支持256MB)的IoT設備,例如智能音箱、智能手錶、智能攝像頭等。

同時由於IoT設備種類繁多、硬體能力差別較大,業界尚不能找到一個兼容性較好而且低開發門檻的操作系統,也很難有足夠的機器智能和安全防護能力支持。

具體而言AliOS Lite解決了以下痛點:

1) 可伸縮的系統設計適應低至 256 MB 內存的智能設備,可配置剪裁的設計適應能力不同的各類設備,保證在 API (應用編程介面)層次上一致的行為;還通過服務依賴流水線、快速渲染、後台程序統一託管等一系列機制提升系統效率。

2)整合阿里巴巴機器智能能力,如人臉識別、圖像分類等,以 API 的形式提供給開發者;支持主流機器學習框架,例如 Tensorflow、Caffe。

3)強化加固其安全內核,提供輕量快捷的安全升級機制。

4)在低開發門檻同時,保障系統運行輕快高效。應用開發語言JavaScript,提供了完善高效的集成開發環境和工具。創新地支持輕量的多線程編程,使能多核硬體、支持預編譯和靜態類型,提速應用運行速度 35%, 降低應用內存消耗 20%。

總體而言,AliOS lite的特點是智能、輕量、可擴展、高效和安全等,並具備可配置裁剪的可伸縮設計和高效 JavaScript 引擎,應用模型無需安裝即可使用,並具備獨特的生命周期管理功能。

原文

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎


推薦閱讀:

人工智慧都有哪些知名的開源項目?
大家久等了,miniblink終於開源了!!
如何使用 HackRF 平台製作一台射電望遠鏡?

TAG:Redis | 性能 | 开源 |