網路上有很多關於行動應用開發未來的問題,特別是原生語言(native)和混合模式(hybrid)開發之間的區別。

在我們深入討論之前,了解原生語言(native)與混合模式(hybrid)行動開發之間的基本區別很重要:

混合模式開發的應用程式:開發人員使用原生的SDK增強了Web程式碼。可以輕鬆佈署到多個平台上,通常是更便宜和更快的解決方案。

原生語言開發的應用程式:這是平台(iOS、Android等)具體的、需要獨特的專業知識。然而,可以利用平台的全部潛力,這將開發出良好的用戶體驗和更強大的應用程式功能(特別是相關手機硬體方面)。 根據同一需求可能付出比較高價,也可能需要較長時間開發。“
(資料來源:https://julyrapid.com/hybrid-vs-native-mobile-app-decide-5-minutes/)

所以,新進的行動開發者的主要關注之一是他們是否應該投資原生語言的行動開發技術…它會被淘汰嗎?請看看這個影片!

影片的字幕:

John Sonmez 說:

嘿,近來好嗎?John Sonmez在此代表 simpleprogrammer.com 跟大家問好。嘿,先一個簡短的感謝,給我們Simple Programmer的贊助商之一 DevMountain Bootcamp。 歡迎大家點入看看。連結在敘述上。他們是個程式設計集訓,可以教你網站開發、iOS開發 、用戶體驗設計,以及很多其他好東西。我得到很多的反饋,從你們那裡,很多給我的電子郵件告訴我關於 DevMountain,所以我決定親自去查看。我想我發現一些好東西,我喜歡他們的節目。他們提供一些 12 週的密集型計畫。他們還提供了一些下班後的節目,我知道你們當中有些人會喜歡。去查看一下。你可以看到在下面的敘述中,DevMountain Bootcamp 的連結。非常感謝他們贊助 Simple Programmer。

回來正題,我收到關於行動開發的問題。我肯定做了不少相關行動開發的影片。如果你有興趣,你可以查看播放列表這裡行動開發的影集,相關 Android 和 iOS的。在我的職業生涯,身為軟體開發人,我已經做了很多行動開發,而不是 YouTube 影片製作人,但我總是收到一些有關原生語言行動開發的問題。其中一個是關於“原生語言行行動開發是否會被淘汰掉?”

這個問題來自GS。GS:“我一直在做Android開發一年多了。有些其他流行的跨平台架構如React Native、Xamarin等可用來開發 Android 和 iOS 。我一直在讀到很多關於混合模式開發會取代原生語言的說法。我知道,技術不會全部一次一起消失,但 JS 極度讓我很擔心。你認為如何,是否 JS 和 Python 將取代?我應該停止做原生語言開發,並開始學習這些混合模式技術?“

這是很好的一個,真的很好的問題,因為你知道,當行動、iOS 和 Android 剛出來,每個人都在預測, – 那是什麼?像-應用程式,我甚至不記得框架的名字。 無論如何,總是會有跨平台的框架出來,然後每個人都預測,在原來單一平台的開發展不可行,也將不是未來,以後都只會做瀏覽器上的開發。 事實上,Firefox OS,看看這笨蛋是多麼受歡迎,你有 Firefox OS 手機嗎?你見過用Firefox OS手機?它是根源於一切都要基於網絡的概念。

這想法很棒。我也覺得用混合模式的開發很合理,但我們還沒有看到它發生。事實是,手機還沒有足夠強大到可完全用混合模式開發,純用混合語言開發的體驗不夠好,沒好到每個人願意放棄原生應用程式。現在,有幾個區別,我想在這裡提出。其中之一是,你知道,Xamarin和所謂混合模式開發技術是不太一樣的東西。我是 Xamarin 的擁護者,明確的說,我是 Xamarin MVP,且我已經與那些傢伙合作很久。我在Evolve演講過,你可以在此(畫面上出現資訊)查看我在Evolve的演講。我認為這是個很好的演說。我喜歡它。

但是,那東西就是不同。該 Xamarin 在技術上是原生的。它是跨平台的,但它不是混合模式(hybrid)。這不是Web瀏覽器的開發。它實際上編譯為原生的程式碼,你會得到安裝在設備上的原生二進制文件。我想清楚把這特點區分出來,因為你必須要真正考慮到這一點,當你談論混合模式與原生語言。

我相信,Xamarin,我想我曾做了這主題的影片。你可以查畫面顯現我所做的Xamarin影片或Xamarin的未來。我的所有想法都在這些影片表達了,因為我認為開發 iOS 和 Android 和它,是Windows phone,但現在不是了,但會有一個新的Windows東西出現,會有的。在所有這些平台上開發原生語言難度不低,我知道,因為我做過。我寫過 iOS 應用和 Android 應用程式本身。我也教這些課程,我非常熟悉做原生語言開發與移植並支持不同的平台,有如坐針氈的痛苦。我開始開發自己的框架,然後 Xamarin forms出現,他們基本上做了我正在做的。

我認為,如果你只想成為一個純粹的原生Android或OS開發者,這可能不是最好的選擇。現在,雖說,即使是我個人偏見,我認為,如果你是Android開發你仍然有至少5年做原生Android的開發,也許10年。我的意思是,不管他那麼多,現在還是有那些在大型計算機系統做COBOL開發。因此,也將有Android應用程式,也將是流傳下來的Android應用程式,即使大家都到混合或交叉平台開發工具,仍然有將要支持的東西。仍也會有一些需要,就像COBOL,所以我不會擔心這會完全消失。

如果你想要往最有用,且最多錢流向的地方發展,我建議你看看某些跨平台的。 我不會擔心 – 不要嘗試,去賭混合模式還是原生語言之間誰到最後獲勝。 相反,看一下跨平台的,因為跨平台是目前走向。混合和原生的事情,我不知道這一仗會維持多長時間,最終是否混合會贏。我可以告訴你的是技術,就像thick client 和 thin client,如我們在這裡討論的一樣像鐘擺似的,它在Web與Desktop來回擺動。有很長的一段的時間,我們有一段時間,記得嗎?每個人都做Flash,且每個人都基本上把這些thick client應用程式放到Web瀏覽器。我們目前的狀況就類似那樣。我們有單頁的應用程式和所有這些東西和React, 因此我們可以基本上是在那裡面建thin clients,然後我們用Web2.0讓開發超輕或那成為首要,但我們來來回回。

我對此不一定會擔心。如果你想進入Web開發,是的,學習 JavaScript 和 Python。如果你還想持續在行動開發,想搞清楚什麼是手機發展的最佳技術。 也許將是一個跨平台的混合模式技術或框架。如果是這樣的話,那麼是的,也許你將不得不學習一些 JavaScript 和 Python 如果你想這樣做,但可能並非如此。你的焦點毋須在搞清楚混合或原生誰會贏。你需要關心的什麼是最好的跨平台工具,且正成為趨勢,並選擇其中的一個,挑一個勝利者。 就像我說的,我覺得Xamarin是,它是我的選擇。我碰巧喜歡C#且我覺得微軟支持Xamarin,且併購 Xamarin,基本上有很高的勝算。我把我的賭注放到微軟支援的這技術,且他們將給這很多支持。這很有可能會擴大Xamarin使用。但就像我說的,如果你是一個純粹的 Android 或 iOS 原生開發者,你將有5~10年的光景。這不會是一個問題。 周遭仍有 COBOL開發人員。 如果我是你,我會研究跨平台的。

好吧,我希望這能回答你的問題。

原文:  Native Mobile Development: Is It Going to Die?  

本文由軟體工程師必讀十本書之一Soft Skills: The software developer’s life manual 的作者 John Sonmez  授權翻譯

譯者註:

    • 有許多人在原文下方回饋了原生語言開發的好處: 如技術更新比較快、能做出更炫的產品 、效能表現比較好。 這的確是原生語言開發目前無法被完全取代的優勢。
    • 根據KONSTANT INFOSOLUTIONS有關跨平台的趨勢統計,前三名為Cordova(之前稱 PhoneGap)、Xamarin 、Unity,  Xamarin 在 Microsoft 購買後,呼聲有增加的趨勢。
Courtesy of: Konstantinfo

 也許你會有興趣

覺得這內容對你有用嗎? 歡迎點以下按鈕分享!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類

行動開發