Kotlin Multiplatform Can’t Do It All. Which is Exactly Why You Should Try It!

From touchlab.co/Kotlin+Mult…框架

在開始以前,我想澄清全部工具都是爲解決問題而建立的,但它們都沒有解決全部問題。若是您的開發團隊匆忙,或者高質量的UI不是主要優先事項,請繼續選擇像Xamarin或Flutter或React Native這樣的「端到端」開發平臺來爲Android和iOS編寫應用程序代碼。你能夠完成工做!工具

如今,若是您已經擁有應用程序的UI,或者您但願爲每一個平臺優化UI,那麼您將須要使用Kotlin Multiplatform。緣由?它根本不作UI(至少尚未)。但它的確作到了 - 並且很是好 - 是Android和iOS應用程序的業務邏輯優化

雖然其餘多平臺解決方案但願支持全部應用層,但它們沒法充分覆蓋全部應用層。

不管如何,跨平臺共享UI代碼並不必定是可取的。一般,當完成此操做時,須要進行屢次迭代才能使UI看起來更具原生性。這將耗盡開發週期,給您的開發團隊帶來更多壓力,以便按時交付。一般,該業務正在推進更多功能而不是UI質量。共享UI是有風險的,對於士氣或業務而言,它不多有用。編碼

與Xamarin,Flutter或React Native不一樣,Kotlin Multiplatform並不屬於本身的生態系統。相反,它很是像一本「選擇你本身的冒險」一書,這就是它如此強大的緣由。

雖然KMP目前擁有有限的庫(雖然數量正在增加),但它確實使您可以使用iOS和Android上的全部現有庫和工具,所以無需等待庫或實施黑客和解決方法。你不能用Flutter或React Native作到這一點,而不會遇到至關大的障礙。3d

Kotlin Multiplatform的輸出只是Android上的另外一個軟件包和iOS上的框架。這能夠節省大量的時間和麻煩,由於編寫橋接代碼或徹底重寫其餘解決方案中缺乏的東西的時間要少得多。code

要在Flutter中編寫業務邏輯代碼,您的團隊首先必須使用小衆語言編寫共享邏輯--Dart - 在新的生態系統中,使用較小的社區,而且難以將其與現有代碼鏈接起來。在React Native中,您的移動團隊須要沉浸在JavaScript的新IDE和其餘工具的Web生態系統中。在Xamarin中,他們必須使用C#編寫代碼,使用Visual Studio,以及一個較小的,不太活躍的社區。更糟糕的是,不管您的團隊使用哪一種平臺,他們都須要在本機和非本機代碼之間創建通訊橋樑。orm

可是,在Kotlin Multiplatform中,您的團隊能夠編寫特定於平臺的業務邏輯,與本機平臺直接通訊,無需等待庫或實施黑客或變通方法。

(若是你願意,你能夠選擇。這也是你選擇的冒險的一部分。)即便有任何問題,與Kotlin Multiplatform的可選共享意味着你只須要恢復與問題直接相關的代碼 - 不要撕掉整個引擎,由於一個壞的火花塞。因此,你老是有選擇。cdn

固然,這很重要,由於它是決定應用程序中全部功能如何工做的業務邏輯。由於您爲此層編寫了一次本機代碼,因此能夠加快開發時間並幫助確保可靠的代碼庫。另外,編寫一組本機代碼是一種很是有效的方法,能夠爲之後的版本提供面向將來的代碼。blog

換言之,Kotlin Multiplatform爲您的開發團隊提供了更大的靈活性。

其餘多平臺解決方案基本上是專有的,致使供應商鎖定。它還致使須要實際管理第三個平臺,由於生態系統與本機平臺太不相同,而且由於它們試圖解決全部問題,但它們沒法解決全部問題,您須要編寫更多特定於平臺的代碼比宣傳的。ip

與Xamarin和React Native不一樣,Kotlin Multiplatform不須要VM。Flutter不須要生產中的VM,但它確實將您置於非本地生態系統,使用非本地語言編寫,這與Kotlin Multiplatform不一樣,Kotlin Multiplatform尊重每一個平臺的本地語言和生態系統。Kotlin Multiplatform是您的團隊目前可使用的最原生的多平臺解決方案。

KMP並無隱藏您正在處理多個平臺的事實,由於它已經編譯爲iOS或Android的本機庫。

沒有中間層能夠處理,幾乎消除了任何互操做瓶頸。因爲Kotlin Multiplatform與原平生臺生態系統協同工做而不是本身的生態系統,開發人員可使用他們一直使用的工具和庫,包括SwiftUI和Jetpack Compose等新平臺創新。您遇到的限制並不是死衚衕,由於您始終可使用Kotlin,Swift或其餘語言對其進行編碼,以便以最小的風險解決問題。

總而言之,這就是咱們如何衡量多平臺解決方案的世界。下週,咱們將分享有關咱們排名細節的更多細節。在此期間,若是您有興趣與咱們討論Kotlin Multiplatform,請與咱們聯繫

Harvey-Scorecard.png
相關文章
相關標籤/搜索