我想爲iOS,Android和windows手機開發一個簡單的應用程序。哪個更好?本機應用或混合應用?
我只是想知道一個簡單的HTML5,JS和CSS組合可以在所有這些平臺上工作。我想知道哪一個會高效?
時間和編碼沒有問題。但是如果我能用HTML5-JS本身實現一切,我會選擇混合開發。我想知道Native與Hybrid Development之間的主要區別,例如(我知道主要區別在於HTML5-JS支持跨平臺)。
注:我沒有製作遊戲應用程序。
我想爲iOS,Android和windows手機開發一個簡單的應用程序。哪個更好?本機應用或混合應用?
我只是想知道一個簡單的HTML5,JS和CSS組合可以在所有這些平臺上工作。我想知道哪一個會高效?
時間和編碼沒有問題。但是如果我能用HTML5-JS本身實現一切,我會選擇混合開發。我想知道Native與Hybrid Development之間的主要區別,例如(我知道主要區別在於HTML5-JS支持跨平臺)。
注:我沒有製作遊戲應用程序。
根據我的經驗,這些跨平臺解決方案(如PhoneGap和其他人)從未真正達到預期,除非您開發的應用程序非常簡單。即使基本的東西,如過渡動畫和小UI調整將是一個艱苦的戰鬥,使用這些工具。
本機開發可能需要更長的時間(如果您正在爲超過1個平臺構建應用程序),但優點是您可以完全控制自己正在製作的內容。在性能方面,本地開發仍然並且可能總是遠遠超過跨平臺開發,僅僅因爲它沒有嵌套在瀏覽器或任何其他運行時解釋平臺中的開銷。另外,從我的經驗來看,能夠編寫一次代碼並立即在所有平臺上工作的神話就是一種神聖的聖盃。許多人聲稱已經實現了它,但是你總是會發現自己編寫平臺特定的代碼(以「如果瀏覽器,如果Safari瀏覽器,如果Chrome瀏覽器」等形式)。
我的建議,爲您的應用程序寫一個堅實的體系結構。在一個平臺上構建應用程序一次,解決設計中的所有問題,然後將設計複製到其他平臺。它會花費你一點時間,但是你的應用程序的強大,以及在你的應用程序中添加/更改功能和其他小東西的靈活性將是值得的。
舉一個例子,以Facebook爲例。他們以前的應用程序(如果你還記得)是一個跨平臺的應用程序。它很慢,沒有反應,會一直崩潰,實際上無法使用。大約一年前,經過無數的投訴,他們發佈了一個更新與他們的本地應用程序,突然間,所有這些問題消失(至少大部分)。
主要區別在於UI組件,它是應用程序中的主要組件。您無法在混合應用程序中實現原生外觀和感覺,如原生對話框,通知和原生動畫。
我想知道哪一個會高效?
效率不是問題,混合應用程序將是一個單一的應用程序,將支持多種平臺,這是成本和時間效益。混合應用的
的觀光
缺點
如果您願意與UI妥協,那麼您應該使用混合應用程序。
在混合應用的缺點,你說 - 2)需要爲每個平臺開發不同的應用程序,增加成本。我認爲這只是對您的混合應用PROS的爭議 - 1)具有成本效益 –
已更新回答,現在查看 –
@Brontok「成本和時間效益」,「規模較小,更新快速」 - 關於什麼?你能否更精確一些?在需求分析,開發,測試,項目管理,市場營銷,工具以及爲特定平臺和工具集僱用和培訓開發人員的間接成本方面存在成本。恕我直言,你所說的PROS和CONS,沒有意義。 – CouchDeveloper
有一篇關於此的真正優秀的文章。希望它會有所幫助 http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ – andykkt
謝謝@andykkt這篇文章是關於內存管理問題的好消息! –
在移動世界中,本地應用,網絡應用和混合應用等術語非常普遍,但有什麼不同?這裏有一點解釋。 http://markupjavascript.blogspot.in/2013/11/native-apps-web-apps-hybrid-apps-what-is-the-difference.html –