關於EMAS的一點想法

EMAS

    關於阿里的EMAS的平臺架構,公司馬上就要使用,聽了之後,有些想法。

    產品層面,關於這個架構,對於阿里應該說是一個產品。阿里的商業嗅覺,商業發展應該是互聯網行業中包括BAT最厲害的一個。可以說阿里的商業發展最強。可能一般會以爲阿里只有淘寶,天貓,支付寶等業務。在面向中小型企業產品以及提供中小公司架構平臺支持方面的業務已經存在很久了。兩年前吧,有次電腦壞掉了,去電腦店修,老闆說你們做開發的能不能給我做一個網站,多少錢,阿里也做網站,不過一年1500... 這一塊業務很有市場,而且很容易搶佔。可以說是有需求,藍海市場。給一些沒有也不需要開發的實體公司和企業提供網站技術的支持。  扯的有點遠了,這裏EMAS架構平臺爲一些公司提供可靠的包括代碼管理,原生自動打包,上傳各個渠道,熱更新,H5原生版本控制,後臺推送,埋點統計 HTTPDNS...一些可以想到的後臺管理平臺所有可以做的事情。推廣到客戶公司。這樣,一個後臺管理平臺可以所有客戶公司一同使用。而且這方面基本需求是一致的,複用性比較強。

      H5方面,阿里有自己的html內核——阿里內核,阿里內核是時時更新的,把它打入到原生包裏面,優化了原生web內核的問題,使h5與原生的適配度比較高,在h5原生混合開發中,實際的頁面顯示問題特別多,使用阿里的內核可以有效的防止和避免這些問題發生,因爲html ios的內核是Webkit,而Android 內核版本更多Android 4.4之前的Android系統瀏覽器內核是WebKit,Android4.4系統瀏覽器切換到了Chromium(內核是Webkit的分支Blink),Windows Phone 8系統瀏覽器內核是Trident。而且阿里內核複用於其他阿里旗下的項目中,這個對於阿里來說基本相當於免費拿過來用。h5和原生相互調用的框架開源的框架很多,各有優缺點,這裏阿里技術優化的h5和原生交互框架。而且,像facebook的 ReactNative開源框架一樣,h5方面支持 普通的h5包和阿里自己的語言--    。這種語言相當於在原生上面封裝一層,h5 dom樹直接底層調用了Andorid和ios原生的方法,這樣可以實現純h5開發。

     原生方面。集成了阿里的包括推送,HTTPDNS...等框架。這樣實現了原生包括埋點,緩存h5js,推送,統計等功能。而且阿里的HTTPDNS繞過了運營商的Local DNS,能夠避免Local DNS造成的域名劫持問題和調度不精準問題,最爲主要的是能夠實現ios緩存h5的問題解決,不被蘋果平臺限制。原生方面主要還是實現了兩個功能,在線的打包和crash崩潰上傳。關於自動打包,Android 一般使用的是python腳本調用adb命令實現...具體的實現細節都是筆者猜想。有可能是java和 pyhton腳本的調用也有可能是自己java框架進行打包自動打包。 對於Android 比較吸引人的是熱更新功能, 阿里EMAS平臺真正實現了熱更新功能,市面上熱更新的開源框架都存在着或多或少的問題。阿里應該優化了這些框架,實現熱更新。對於Android版本控制,這個就不必過多敘述,比較簡單。

    關於服務端,畫個圖吧(圖是本人猜想的實現方式,但是大概也只能是這樣實現):  

     

 

 

 

   這裏,從大的角度方面去分析EMAS系統,其實是一種資源的合理利用,如果不使用EMAS系統的話,可能需要的人員:產品,設計,美工,java工程師,Android工程師,IOS工程師,前端工程師,python工程師,C語言工程師。這樣一個團隊進行協作,具體多少人月,筆者無法估計。但是如果使用EMAS平臺框架的話,就會節約很多這樣的資源,當然,節約的資源的收益都歸阿里,但對於社會來說是資源節約了。假如有10家公司運用了EMAS系統,那麼加入阿里的開發資源投入相當於3家公司開發資源(考慮到阿里的代碼質量和開發質量這麼說應該不爲過) 那麼對於社會來說是節約了7家公司的開發資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章