您當前的位置:首頁 > 繪畫

apicloud能都替代android原生開發嗎?

作者:由 知乎使用者 發表于 繪畫時間:2015-02-06

apicloud能都替代android原生開發嗎?塗鴉碼龍2015-03-08 00:02:17

其實沒有替代不替代的問題,其實是相輔相成,APICloud解決的是APP開發速度和跨平臺的問題,比如一套程式碼能編譯成安卓和iOS應用,安卓原生開發解決的是應用效能的問題,比如說我們的原生模組照樣是安卓原生

apicloud能都替代android原生開發嗎?攻城獅Right2016-09-01 15:20:46

APICloud的出現不是為了替代某一種開發方式的,從技術上來講,其實是相輔相成,APICloud解決的是APP開發速度和跨平臺的問題,比如一套程式碼能編譯成安卓和iOS應用。

apicloud能都替代android原生開發嗎?匿名使用者2017-11-09 12:06:35

APICloud和原生應用開發,不是互相替代的關係。

不同的場景不同的需求,自然採用不同的技術,我們需要認清的是我們處於什麼場景,選用了不同的技術會有什麼優勢,什麼痛點。

嚴格的講,這個問題應該是個四方比較的技術選型問題:原生開發、hybrid開發、RN/Weex為代表的“偽hybrid開發”,以及APICloud。

為什麼將hybrid開發和APICloud分開?因為APICloud是一個包含跨平臺APP開發引擎、開發工具、雲服務、模組市場等服務的完整APP開發生態。目前APICloud已經推出面向Web開發者的Deep引擎、面向已有native應用的SuperWebView、模組市場,以及資料雲、運營雲等雲服務快速開發環境。不能僅僅作為一種“工具”或者單一技術看待。

下面我們簡單列舉一下四種技術選型的優勢和劣勢:

原生開發

優勢:

廠商原生技術,自由度最大。

社群和文件化都非常完善,各種技術資料和解決方案相當豐富。

歷史比較久,具備一定資歷的開發人員比較好招(並不意味著便宜)。

劣勢:

開發成本高,技術難度高。

專案無法跨平臺,需要兩支團隊。

需要投入的開發、測試力量以及週期都比較長,這會導致迭代節奏偏慢(要想快就得加人),不一定更得上產品的迭代節奏。

hybrid開發

優勢:

網頁迭代速度快,這個是公認的。

跨平臺性突出,有利於節省人力,1到1。5人可以維護兩大平臺的應用。

前端社群的技術演進非常快,社群活躍。

當下而言,前端工程師人力資源比較豐富。

劣勢:

效能劣於原生開發,容易出現效能問題。

嚴格的說hybrid只是一種技術理念,而並不是具體的技術解決方案。應用開發商常常需要自行構建維護技術棧。

雖然有封裝了native介面的hybrid框架(比如ionic)可選擇,但是對於相對複雜的應用,現有的hybrid框架並不能滿足需要,所以使用hybrid方式開發的應用,常常需要原生補充,這種情況下不同模組的使用者體驗難以統一。

RN/Weex

優勢:

使用系統原生UI元件,效能和體驗相比hybrid更接近於原生。

由於RN和Weex都是一線網際網路廠商的產品,除了元件和api封裝之外,還會對熱更新一類的工程需求給出明確解決方案。

劣勢:

不使用html5自然有好處,但是也會帶來壞處。比如,需要分別搭建Android和IOS開發環境,分別Release。RN的核心理念是“learn once write anywhere”而非“write once run anywhere”。

再比如針對RN/Weex的設計並不像hybrid那麼靈活,並且會一定程度上產生平臺分化。

學習曲線可能不像大家想像中那麼平滑,不管是前端還是移動開發工程師,進入RN/Weex領域還是需要一個學習期的。

RN/Weex的可調式性比純瀏覽器還是要差上一截,開發體驗並不那麼好,這也一定程度上增加了開發成本。

APICloud

說優勢劣勢之前,我們先來解釋一下APICloud和原始hybrid的區別。hybrid技術是APICloud“端”開發的核心技術手段,但是APICloud基於hybrid做了很多事。從專案開發過程來看,使用現有開源的hybrid技術或者自建hybrid框架,更像是自己買菜做飯,建立和維護技術棧,以及針對各種問題積累know how的成本是比較高的,而使用APICloud開發,其體驗更像是使用。net、java這樣的企業級開發技術棧,或者說去飯店點餐,你拿到手的東西已經相當完整,可以直接聚焦於應用。

優勢:

傳統hybrid開發的優勢,APICloud基本是具備的。

相比傳統hybrid,APICloud提供的是整體解決方案以及標準化的技術平臺,不需要自行搭建熱更新等外圍技術。

技術支援體系,開發者社群,有全面的產品、技術文件、影片教程等,技術論壇中有活躍的開發者,也有官方一線產品人員提供技術支援,這在國內的社群中,維護度算認真的了。

模組市場。模組是APICloud的核心優勢之一,編碼時拿來即用,無需重複造輪子,目前有五六百個模組,涵蓋了APP開發過程中90%以上的功能,同時聚合了國內主流第三方服務,比如IM,推送,人工智慧,物聯網,直播等等。原生開發者還可透過APICloud的模組擴充套件機制,開發模組在模組Store上進行售賣。

APICloud利用高效的“混合渲染”和模組化機制,為APP提供與原生一致的效能,同時還繼承Html5開發簡單的優勢,二者對開發人員來說基本上是透明的。

劣勢:

由於APICloud是基於標準html5擴充套件的技術,API比較新,開發人員需要一定的時間熟悉、學習其擴充套件的API(個人認為相對RN/Weex來說要容易一點)。

在APICloud中開發APP,原則上不提倡使用JQuery等傳統Web開發常用的庫和框架。習慣使用框架的前端開發人員使用APICloud開發APP時,可能還需要花時間去適應。

APICloud的技術引擎和大部分的模組沒有開源,這其實算是一把雙刃劍,但從開發者角度講,開源平臺,會降低專案開發中的一定風險,尤其是可除錯性。

就技術而言,目前APICloud的客戶端技術,很像是桌面端的混合開發方案electron,立足於html5,透過統一標準的API消除不同平臺、不同作業系統之間的差異,達到APP跨平臺的目的。但是相比純技術方案,APICloud是一個“有產品有生態有運營”的商業級開發平臺。今天我們看到的特色,也主要是因此誕生的。

回到開始的觀點,APICloud並不是原生開發的代替技術,APICloud實質上是一個為移動端app開發提效和賦能的平臺體系。基於APICloud做應用,還是在原生應用中內嵌APICloud,其實是針對不同場景的不同技術選擇,背後的核心理念就是“因地制宜”,什麼樣的場景,我採用什麼樣的技術能達到提效和附能的目的,是技術選擇的唯一標準。

多說一句,國內大型網際網路公司普遍採用了“大中臺”戰略,期望建設強大的中臺去支撐業務。同樣的,作為中小型團隊,選擇一種技術,並不是說靜態地去看當下這個技術有哪些好處壞處,而是要放在“外接中臺”的角度,動態的去審視。一個技術棧長遠的看能決定你的研發模式和團隊構成,所以這不是那個工具最省事,

apicloud能都替代android原生開發嗎?知乎使用者2017-12-05 16:49:03

作為用了很久類似技術(Apache Cordova),這兩個應用場景其實差別很大,ApiCloud 看起來應該就是脫胎於 PhoneGap(也就是 Cordova 的前身),其實就是一個 WebView + JavaScriptNativeBridge + Plugins,主要用途是用來快速搭建應用,或者讓原來是做前端的來寫應用,前端那麼多庫拿來用用,然後可以直接生成 Android 和 iOS 應用,一舉兩得,開發成本也低。

如果真的要說,用這種方式開發的確是可以開發出優秀的應用的,但是有這種精力去開發足夠優秀應用的公司會去用這個?最後的結果就是這個開發方式做出來的應用極大多數都慘不忍睹。

真正要開發優秀的應用還是要用原生的開發方式,有針對性的做目標平臺能做得好的事情。

apicloud能都替代android原生開發嗎?拂曉2018-08-08 15:56:58

嚴謹的說,混合開發肯定不能100%替代原生開發。但是APICloud自身API+外掛生態,覆蓋了絕大多數日常APP開發需求,只要你的需求沒有跳出這個範圍,那麼就可以理解為APICloud是一個選擇。

最近圍繞混合應用開發寫了一套課程,實戰部分著重講解了APICloud開發最佳實踐,近一個月特價促銷,想上車的朋友抓緊:

臧濤的達人課

標簽: APICloud  開發  Hybrid  技術  原生