跨平臺工具詳解:MoSync
主要產品和技術
MoSync允許開發者使用C++、HTML(最近才支持)或者JavaScript來為iOS、Android、Windows Phone 7、Symbian、Java ME、Windows Mobile和Moblin(BlackBerry支持)平臺進行開發。開發者能通過MoSync精簡庫調用本地設備API,開發的App還能應用本地的UI控件。為Android設備做開發時,MoSync可以創建Dalvik字節碼,不過也能在使用Java-Native界面和NDK時直接工作于C++層面。
MoSync已經被整合進Eclipse中,計劃也將被整合進Visual Studio中。MoSync IDE允許開發者有超過2400種目標設備,它們的大多數都是Java ME的變種。開發者可以調用任何仿真器,包括本地平臺的仿真器,或者MoSync提供的MoSync Reference Environment。
MoSync使用了一個定制的C++編譯器。這個編譯器輸出MoSync Intermediate Language。之后,這種語言的代碼和程序相關資源,以及用到的MoSync庫一起被送入“pipe tool”中。“pipe tool”創建代碼樹,分析優化并輸出C/C++源代碼,MoSync字節碼或者Java字節碼。這之后被某種適用于平臺的運行時封裝,MoSync宣稱這會有100Kb左右的運行信息。值得一提的是,MoSync能為很多設備創建二進制碼,這包括沒有各自SDK的Android設備。
MoSync能提供一個開源環境下(GPLv2)的認證,一個免費的個人認證,和兩個商業上的專業認證(***需要199歐元)。開發者非常喜歡這個免費的個人認證方案,我們的調查顯示68%的人認為這是讓他們選擇MoSync的關鍵因素(類似因素對應的平均比例是31%)。
市場影響力
根據MoSync所說,這個工具有18萬的下載量和2萬的注冊用戶。用戶包括Gemalto,Stockholm City,Penvision,BS集團(銀行領域),Intel和Navtech。MoSync也提到,軟件的***次發布實在2011年9月,他們十分期待看到更多基于MoSync的App在接下來的2-4個月里進入市場。
市場定位
MoSync的市場主要定位于進行企業應用開發和高度邏輯中心的開發者。這個定位和某些工具比較相似,比如Xamarin(MonoTouch),雖然MoSync使用C++而Xamarin使用C#.NET;也比如Appcelerator,雖然MoSync更偏重C++實現的程序邏輯編碼。Aqua Platform提供了一個基于C++不包括游戲應用的開發平臺,平臺的展示架上展示了很多適用于不同種類App的功能應用。通過使用互聯網技術,如Sencha 2.0,MoSync將會更加有競爭力。不過面對相似種類的App開發工具時,MoSync并不像Worklight一樣是一個完整的平臺解決方案,也不像Netbiscuits一樣是一個輕代碼的互聯網App開發解決方案。
MoSync宣稱自己是涵蓋設備平臺最廣的開發工具之一,這些平臺包括iOS,Android, Windows Phone 7, Symbian, Java ME和“很快就會支持”的BlackBerry。我們的調查顯示,70%的MoSync開發者表示平臺的涵蓋范圍是一個影響工具選擇的因素。而調查中顯示,除了熱門的iOS和Android,MoSync開發者為Windows Phone做開發的比例是其他平臺開發者的大致兩倍,為Symbian做開發的比例是4倍。
MoSync中編程的核心語言是C++,最近也增加了HTML和JavaScript來迎合更多的開發者。這款工具有很寬的應用范圍,在用于通信和社交App開發的比例上,是其他工具平均值的2倍。我們的調查還顯示MoSync經常吸引經驗豐富的開發者,19%的MoSync開發者有7年以上的開發經驗,而其他軟件的平均值是10%。