混合移動APP是一種降低移動APP開發(fā)成本和進(jìn)入門檻的嘗試。他們通過使用以 HTML、CSS 和 Javascript 編寫的單個代碼庫來定位多個平臺來做到這一點(diǎn)。采用這種方法的APP的創(chuàng)建方式與現(xiàn)代網(wǎng)站的創(chuàng)建方式非常相似,但不是在移動 Web 瀏覽器中查看,而是將APP放置在一個小的本地包裝器中,允許將其提交到APP商店并安裝任何其他移動APP。如果一切按計(jì)劃進(jìn)行,開發(fā)人員將永遠(yuǎn)不必編寫一行本機(jī)代碼,用戶也不會有絲毫的想法,即他們正在使用混合APP。
希望混合移動APP可以顯著降低開發(fā)成本并大幅增加能夠開發(fā)APP的開發(fā)人員的數(shù)量。本文將探討混合APP如何接近實(shí)現(xiàn)這一夢想,解釋混合APP的幾個關(guān)鍵限制,探討它們在行業(yè)中的影響,最后概述混合移動APP如何融入我們的整體移動APP開發(fā)方法。
最近,混合移動APP的普及率激增。但究竟是什么讓他們?nèi)绱藗ゴ螅孔畲蟮膬?yōu)勢之一是它們?yōu)?Web 開發(fā)人員打開了移動應(yīng)用商店的大門。JavaScript 是 Web 開發(fā)的主要客戶端語言,根據(jù)tiobe.com 排名第八. Android 的主要語言 Java 和 iOS 的主要語言 Objective-C 分別排名第 1 和第 14 位。由于混合移動APP允許開發(fā)人員使用 JavaScript 而不是單獨(dú)的本地平臺語言,這會導(dǎo)致大量開發(fā)人員涌入。此外,曾經(jīng)只提供 Web 開發(fā)服務(wù)的公司現(xiàn)在也可以開始提供移動APP開發(fā)服務(wù)。隨著有能力的開發(fā)人員的供應(yīng)增加,開發(fā)成本將降低,商店中的APP數(shù)量將繼續(xù)增長。
另一個巨大的優(yōu)勢是傳統(tǒng)的移動APP開發(fā)需要針對APP目標(biāo)的每個平臺單獨(dú)的代碼庫。使用多個代碼庫會增加開發(fā)時間,同時對每個版本進(jìn)行 QA 所需的時間也會增加。這也意味著您的開發(fā)團(tuán)隊(duì)會更大,從而增加APP在每個平臺上表現(xiàn)不同的可能性。通過構(gòu)建混合移動APP,所有版本都保持同步。您仍然需要在所有目標(biāo)平臺上對APP進(jìn)行 QA,但版本在幾乎所有情況下都應(yīng)該表現(xiàn)相同。
混合移動APP的最終勝利是它們能夠?qū)F(xiàn)有的網(wǎng)絡(luò)APP轉(zhuǎn)換為移動APP。這并非在所有情況下都有效,所需的時間可能會有很大差異,但如果您已經(jīng)有一個在移動瀏覽器上運(yùn)行良好的網(wǎng)絡(luò)APP,那么您很可能很容易將其轉(zhuǎn)換為混合移動APP。如果您一直計(jì)劃這樣做,這種方法效果最好,但我們已經(jīng)取得了巨大的成功,將我們在過去幾年內(nèi)構(gòu)建的 Web APP并在原始 Web APP啟動后將它們捆綁為混合APP。由于創(chuàng)建混合移動APP與創(chuàng)建移動網(wǎng)站非常相似,因此您通常只需返回并重新打包您已經(jīng)構(gòu)建的內(nèi)容。
一般來說,不要過早追隨最新的技術(shù)趨勢是個好主意。早期采用者通常有明顯的成長痛點(diǎn),必須對頻繁的更新和更改做出響應(yīng),并且冒著購買可能不會持續(xù)超過一年的風(fēng)險。但是,確定一種可以顯著降低成本并幫助您的應(yīng)用更快上線的新技術(shù)可以讓您在競爭中領(lǐng)先。因此,查看其他頂級公司并了解他們?nèi)绾谓咏筒捎眯录夹g(shù)通常是一個好主意。考慮到這一點(diǎn),這里列出了一些非常成功的混合移動APP:
優(yōu)步
未開發(fā)
喊叫
了解這些公司為何選擇采用混合APP方法同樣重要。更重要的是找到選擇不同方向的公司,或者那些曾經(jīng)擁有混合APP但放棄它而轉(zhuǎn)而采用另一種方法的公司。找到這些故事將幫助您了解混合APP的缺點(diǎn),并更好地了解混合APP是否適合您的APP。
許多APP從混合路徑開始,只是意識到選擇的方法將存在嚴(yán)重問題,為時已晚。出于這個原因,決策者在開始之前了解混合APP的缺點(diǎn)是至關(guān)重要的。以下是使用混合移動APP時面臨的一些常見問題:
動畫的 UI 遲緩。
內(nèi)存受限設(shè)備上的內(nèi)存相關(guān)問題。
缺少對所需本機(jī)功能的軟件包或內(nèi)置支持。
平臺之間的 UI/UX 一致性,而不是許多用戶期望的特定于平臺的外觀和感覺。
稍后的項(xiàng)目里程碑將增加項(xiàng)目范圍,這對于混合APP來說是非常困難或不可能做到的。
這些問題的嚴(yán)重程度因項(xiàng)目和混合APP庫而異。其中一些是破壞交易的,而另一些則是項(xiàng)目預(yù)算較低的不便。在開始任何移動APP項(xiàng)目之前,在選擇方法和技術(shù)之前獲得知情和公正的意見非常重要。
如果您針對多個平臺,混合APP應(yīng)該比原生APP便宜一些。由于它們使用單一代碼庫,因此它們的維護(hù)和測試成本也應(yīng)該更低。如果您已經(jīng)有網(wǎng)絡(luò)開發(fā)人員在工資單上,它們也可能更具成本效益,因?yàn)楝F(xiàn)在他們也可以在您的移動APP上工作。在針對 iOS 和 Android 時,混合動力并不總是可以為您節(jié)省 50%,但根據(jù)我們的經(jīng)驗(yàn),您可以預(yù)期節(jié)省大約 30% 到 40%。這當(dāng)然取決于是否適合該項(xiàng)目的混合APP。
就像 Web 和移動開發(fā)中的幾乎所有其他東西一樣,沒有一個萬能的成本等式,如果您采用原生方式,項(xiàng)目的總成本可能會更低。這一切都取決于了解選項(xiàng)并為您的應(yīng)用選擇最佳選項(xiàng)。混合APP有可能更便宜,但情況并非總是如此。
混合APP倡導(dǎo)者希望您相信它們提供與原生APP完全相同的體驗(yàn),但價格要低得多。在大多數(shù)情況下,它們是正確的。混合應(yīng)用可以像原生應(yīng)用一樣提交到應(yīng)用商店。用戶可以像本地APP一樣下載它們。它們的執(zhí)行方式與原生APP大致相同,正如我們已經(jīng)討論過的,它們的制作成本可能比原生APP低得多。混合APP開發(fā)VS原生VS H5混合開發(fā)APP對比。
但是,在性能、應(yīng)用間可操作性、動畫和本機(jī)功能方面存在一些差異。由于混合APP基本上是一個 Web 視圖,因此它們可能比原生APP有點(diǎn)遲鈍且響應(yīng)速度慢。這在動畫(例如 iOS 托盤打開和關(guān)閉動畫)中尤為明顯。此外,當(dāng)混合APP想要使用原生功能時,例如訪問聯(lián)系人或日歷,它們必須依賴各種包。如果沒有執(zhí)行所需任務(wù)的現(xiàn)有包,您可能必須自己制作。由于必須為您所針對的每個平臺本地編寫這些包,這使得這變得更加困難。不必學(xué)習(xí) Java 或 Objective-C 就夠了!混合APP無法滿足原生APP的其他一些方面包括離線功能、內(nèi)存使用、
響應(yīng)式網(wǎng)站實(shí)際上與混合APP非常相似。在許多方面,您可以將響應(yīng)式網(wǎng)站的移動形式視為混合APP的核心。響應(yīng)式網(wǎng)站具有網(wǎng)站在移動設(shè)備上運(yùn)行所需的 HTML、CSS 和 Javascript。兩者的內(nèi)容、樣式和邏輯可以完全相同。混合APP僅涉及獲取 Web APP并將其打包在本機(jī)包裝器中。您必須確保用戶體驗(yàn)在這種形式下仍然有效,但很有可能不需要額外的工作來將您的響應(yīng)式網(wǎng)站(或移動網(wǎng)站)轉(zhuǎn)換為混合移動APP。
這意味著兩者之間最顯著的區(qū)別在于它們的訪問方式。響應(yīng)式網(wǎng)站在移動瀏覽器中查看,并從您的傳統(tǒng) Google SEO 中受益。另一方面,混合APP可以在APP商店中找到并安裝到手機(jī)的主屏幕上。這有很多好處,我在之前關(guān)于移動參與的文章中討論了其中的許多好處。
跨平臺混合APP是使用單個代碼庫構(gòu)建的APP,但會針對每個平臺編譯為本機(jī)代碼。流行的跨平臺技術(shù)包括Xamarin和NativeScript。這些技術(shù)將代碼編譯為本機(jī)二進(jìn)制文件,使它們成為真正的本機(jī)APP。作為原生,它們有能力擁有更好的性能,可以承載平臺特定的原生 UI/UX,并且可以更好地利用其他原生功能。缺點(diǎn)是這些方法通常具有陡峭的學(xué)習(xí)曲線。因此,盡管與特定于平臺的原生方法相比,您可以節(jié)省金錢和精力,但跨平臺原生方法可能比混合使用更昂貴。
在這兩個選項(xiàng)之間做出決定很大程度上取決于您的開發(fā)團(tuán)隊(duì)的技能。如果他們有 .Net 和 C# 經(jīng)驗(yàn),Xamarin 可能非常適合。但是,他們將不得不在此過程中對本機(jī)APP流程有所了解。如果你不適合這個群體,考慮混合動力可能是個好主意。許多人可能會爭辯說,如果您必須花時間學(xué)習(xí)跨平臺原生方法,也許您應(yīng)該多投入一點(diǎn)并使用特定于平臺的原生方法,因?yàn)樽罱K這將始終是最高性能并提供最佳用戶體驗(yàn).
從表面上看,混合移動APP的出現(xiàn)對 Web 開發(fā)人員來說非常棒。隨著智能手機(jī)和平板電腦的爆炸式增長,APP開發(fā)人員面臨著巨大的機(jī)遇。但是學(xué)習(xí)原生開發(fā)(更不用說多平臺開發(fā))歷來是一個很大的進(jìn)入門檻。理論上,混合APP消除了這一障礙,并允許 Web 開發(fā)人員進(jìn)入這個非常有利可圖的市場。但是,Web 開發(fā)人員應(yīng)確保了解混合APP的局限性,并愿意在必要時進(jìn)入本機(jī)代碼。
由于混合移動APP,Web 開發(fā)人員還有另一個有趣的角度。對于自由職業(yè)者或顧問開發(fā)人員,您可能會與僅提供本地開發(fā)的其他開發(fā)人員競爭。由于混合APP通常更便宜,因此 Web 開發(fā)人員在為項(xiàng)目定價時可以擁有顯著的競爭優(yōu)勢。對于面向多個平臺的APP來說,這一點(diǎn)越來越真實(shí)。精明的網(wǎng)絡(luò)開發(fā)人員可能能夠提高他們的費(fèi)率,并且仍然是一個具有競爭力的價格選擇。如果您是 Web 開發(fā)人員,這很有意義,并且可能需要有限的精力來開始提供混合APP開發(fā)服務(wù)。Web 開發(fā)人員還應(yīng)該關(guān)注React Native。它使我們能夠在本地移動項(xiàng)目上使用經(jīng)驗(yàn)豐富的 Web 開發(fā)人員。
作為一名移動開發(fā)者,我會仔細(xì)閱讀并理解前一段。我會研究和了解混合APP開發(fā)的現(xiàn)狀,并特別注意它的缺點(diǎn)。如果您是一名自由職業(yè)者或顧問移動開發(fā)人員,您將很快或可能已經(jīng)在與 Web 開發(fā)人員競爭移動APP項(xiàng)目。這可能意味著您必須對您的項(xiàng)目進(jìn)行更具競爭力的定價,并且您的每一個提案都將與一組全新的競爭對手進(jìn)行比較。但是,如果您能夠解釋和展示原生移動APP的優(yōu)勢并知道哪些APP更適合您的方法,那么您應(yīng)該能夠避免將任何業(yè)務(wù)拱手讓給使用混合APP方法的 Web 開發(fā)人員。
此外,移動開發(fā)人員可以利用他們的本地開發(fā)經(jīng)驗(yàn),學(xué)習(xí)一些 Web 開發(fā)(如果他們還沒有),并成為世界級的混合APP開發(fā)人員。如前所述,大多數(shù)混合APP依賴于本地編寫的包。擁有這種跨領(lǐng)域技能的開發(fā)人員可以通過掌握原生和混合APP方法真正讓自己與眾不同。
任何有經(jīng)驗(yàn)的商務(wù)人士都應(yīng)該面帶笑容地閱讀前兩節(jié)。由于混合APP將更多的開發(fā)人員帶到了桌面上,因此在構(gòu)建移動APP時您可以考慮更多的選擇。更多的開發(fā)人員意味著您的業(yè)務(wù)競爭加劇,這當(dāng)然意味著您可以節(jié)省資金。增加的選項(xiàng)確實(shí)意味著您必須做更多的研究才能完全理解正確的方法。您需要考慮APP是什么以及它可能是什么。企業(yè)明智地尋找真正提供各種移動APP開發(fā)方法的人或公司。這樣,他們就可以依靠他們的指導(dǎo),并且希望不會被導(dǎo)向一個方向,因?yàn)檫@是開發(fā)人員或公司提供的唯一服務(wù)。
要考慮的另一件事是,如果您已經(jīng)擁有一個 Web APP,混合APP可能會將該網(wǎng)站轉(zhuǎn)化為移動APP,而成本只是新APP成本的一小部分。擁有移動APP對于任何企業(yè)來說都是一個絕妙的主意,并且由于混合APP,它們比以往任何時候都便宜。
如前所述,混合APP涉及獲取基本上是網(wǎng)站的內(nèi)容并將其包裝在本機(jī)包中。有幾個不同的框架可以使這個過程成為可能。考慮到大量選項(xiàng),評估和選擇框架可能會讓人不知所措。以下是一些最受歡迎的選項(xiàng)的列表,以及每個選項(xiàng):
Ionic - Ionic 提供了幾個內(nèi)置的 UI 組件,并且嚴(yán)重依賴 AngularJS 進(jìn)行雙向數(shù)據(jù)綁定。
Cordova (Phone Gap) - Cordova 是最不自以為是的選擇。Cordova 不是將一堆東西捆綁在一起,而是一個允許您定義工具并簡單地處理APP的打包和發(fā)布的框架。
Appcelorator Titanium - 使用 Alloy(一種 MVC 框架),具有內(nèi)置 API 框架,并提供實(shí)時分析。
Sencha Touch - 作為較老的混合APP框架之一,Touch 強(qiáng)調(diào)模仿原生 UI/UX。
Kendo UI - Kendo 是 jQuery 粉絲的絕佳選擇。
購買新技術(shù)可能是一項(xiàng)冒險的嘗試。如果底層技術(shù)發(fā)生變化或被放棄,早期采用者通常會付出高昂的代價來維護(hù)他們的APP。但是,混合APP的一大優(yōu)點(diǎn)是它們非常依賴 Web 開發(fā)技術(shù)。鑒于網(wǎng)絡(luò)和網(wǎng)站的巨大持久力,用于制作混合移動APP的語言將被教授和使用相當(dāng)長的一段時間。因此,您很可能不會發(fā)現(xiàn)自己處于必須支付某些利基開發(fā)人員來維護(hù)您的APP的位置。但是,您選擇哪種混合應(yīng)用技術(shù)存在一些風(fēng)險。當(dāng)前的一個或多個框架可能會失寵并停止維護(hù)。最后一個風(fēng)險是其他方法,例如跨平臺移動APP開發(fā)(例如 Xamarin),變得越來越流行。
最終要考慮的是您希望您的APP使用多長時間,以及認(rèn)為混合APP將在整個期間使用是否合理。在大多數(shù)情況下,這對我來說似乎是一個非常安全的賭注。
通常,我們認(rèn)為擁有一個單一的技術(shù)堆棧或方法并將其應(yīng)用于每個項(xiàng)目是一個糟糕的想法。這樣做的公司和開發(fā)人員通常會在項(xiàng)目中強(qiáng)制使用不合適的解決方案,而另一種方法會更好。因此,我們認(rèn)為任何爭論混合APP是靈丹妙藥或完全無用的人都是大錯特錯,我們鼓勵您對此類開發(fā)人員持懷疑態(tài)度,因?yàn)樗麄兒芸赡芤粗荒荛_發(fā)混合APP,要么沒有能力做本地以外的任何事情。
總的來說,我們認(rèn)為混合動力是一個可靠的預(yù)算和方便的選擇。以下是我們建議使用混合APP方法的一些常見情況:
一個項(xiàng)目需要一個響應(yīng)式網(wǎng)站,而一個移動APP將是“必備之物”。
一個應(yīng)用會部署到多個平臺,不包含太多或太復(fù)雜的動畫,并且需要有限的原生功能。
一個項(xiàng)目的預(yù)算有限,我們希望以盡可能少的投資來測試APP的可行性。
Web APP版本已經(jīng)存在,移動APP將非常相似。
以下是一些我們對混合使用猶豫不決的APP:
該APP依賴于原生功能,例如廣泛的日歷、聯(lián)系人或照片利用率。
項(xiàng)目預(yù)算相當(dāng)可觀,目標(biāo)是擁有最好的APP。
該APP只會針對 1 個平臺。
該APP將面向多個平臺,您希望該APP遵循每個平臺的標(biāo)準(zhǔn) UI 和 UX。
該APP將具有中等到廣泛的動畫。
有一種可能性是,該APP將需要一個功能或集成,而混合APP方法不可能或過于昂貴。
顯然,這些列表更多的是指導(dǎo)而不是硬性規(guī)則,但這是我們在決定移動APP開發(fā)方法時考慮的事物類型的一個示例。
混合APP是一項(xiàng)令人興奮且影響深遠(yuǎn)的新技術(shù)。決策者和開發(fā)人員應(yīng)確保他們了解這種新的移動APP開發(fā)可能性的內(nèi)容、方式和原因。
作為一家網(wǎng)絡(luò)和移動開發(fā)公司,混合APP為我們提供了一個很棒的新工具,可用于某些項(xiàng)目。但就像任何工具一樣,知道何時使用它與知道如何使用它一樣重要。我會確保與您合作的任何公司都理解、考慮并提供所有可用的選項(xiàng)。如果沒有,您的APP可能會在大門外拐錯彎。如果您想與我們討論您的下一個移動APP項(xiàng)目,我們很樂意聽取您的意見!
如果您對本文有任何疑問,或者您希望我們涵蓋與混合APP或一般移動開發(fā)相關(guān)的任何其他主題,請告訴我們。
接入ChatGPT系統(tǒng)多少錢?
APP如何接入ChatGPT系
小程序開發(fā)費(fèi)用,開發(fā)小程序需要
怎么選擇一家靠譜的小程序制作公
app制作流程-策略|評估規(guī)劃
開發(fā)一個app多少錢?
客服QQ:121446412 聯(lián)系電話:15321250321
京ICP備17026149號-1版權(quán)所有@2011-2022 北京天品互聯(lián)科技有限公司 公司地址:北京市海淀區(qū)上地信息路甲28號B座(二層)02D室-010號