時間:2017-04-11 來源:互聯網 瀏覽量:
對於程序員來說,“一次編寫,到處運行”可謂是終極夢想。為了滿足程序員這一夢想,很多工具或平台都有“跨平台”這一特性。今天我們就來聊一聊Xamarin和React Native。在開始正題之前,我們先為大家梳理一下Xamarin的最新動態。
2016年2月25日,微軟發布公告稱其收購了移動跨平台開發公司Xamarin,此次收購讓微軟一下子擁有了橫跨Android、iOS、windowsphone三大平台的移動開發能力,也瞬間成為海內外開發者共同關注的話題。
微軟負責雲計算業務的執行副總裁Scott Guthrie說:“我們與Xamarin有著長期的合作關係,我們將進一步推動這一工作,以便讓我們世界級的開發者工具和服務更好地進行深度整合,從而為開發者帶來無縫的移動應用開發體驗。”
今年3月8日,Visual Studio 2017正式發布,微軟也滿足了廣大開發者的心願,在Visual Studio中整合了Xamarin,用戶可以在Visual Studio中直接用C#語言為IOS、Android、Windows開發真正原生體驗的應用。
Xamarin SDK作為.Net基金會的一部分將會逐步開源,在Evolve 2016大會上,微軟宣布將Xamarin的運行時開源,其它的類和命令行工具也將在未來幾個月陸續推出。
使用Xamarin直接用C#開發應用實現隻用一種工具、一種主要編程語言即可完成跨平台應用的開發,對企業開發和程序員來說應該都是一件大好事,且C#從語言特性上來說也比Javascript(react native)和Swift(iOS)和Java(Android)好很多。那麼為什麼Xamarin已經開源免費了,企業在開發或者招聘時還會選擇React Native?
筆者通過多方收集信息,總結出了以下原因:
1.資料較少,第三方庫嚴重匱乏
筆者在查找資料時發現,大家幾乎都會吐槽Xamarin的學習資源。的確,Xamarin除了官網之外幾乎沒有什麼比較好的學習途徑,中文資源更是少得可憐,相關書籍不僅數量少而且年份久遠。
除了學習資源較少,第三方庫也嚴重匱乏,知乎網友表示,“當你還在研究Xamarin的基礎使用、類庫綁定橋接、踩各種坑時,原生Android的插件化開發、熱修複、各種豐富牛逼的類庫框架已經很成熟了。”
資料和第三方庫的匱乏導致了一係列的連鎖反應,由於缺各種開源工具和庫,導致程序員應用較少,缺乏經驗,這樣就導致了大公司不願輕易嚐試,沒有更多的人才培養。
2.學習曲線陡峭,招聘難度大
繼Visual Studio 2017發布之後,Visual Studio for Mac 也迎來了第四個預覽版本,其中 Xamarin.Forms 預覽器得到了增強增強,且新增和更新了開發模板。雖然,Xamarin在不斷的發展,但想要隻懂C#就寫出APP還是有一定難度的,除此之外,Xamarin的生態圈離友好也還有一段距離。
對於Xamarin的招聘難度,筆者個人認為有一位網友的總結特別有趣到位,“會寫JavaScript的人遠比C#人多;會寫JavaScript的人不僅可以會寫前端,還會寫Native React;招一個會寫JavaScript的人遠比C#輕鬆。”
3.雖然有爹,但是這個爹有點不靠譜
萬事萬物都是一樣,是否流行除了取決於自身實力,資金、渠道、宣傳等等外部因素也是必不可少的。從曆史來看,微軟這個爹實在不能算是稱職,從XNA、SliverLight、諾基亞等的命運來看,莫不是一看風頭不對,掉頭就跑。而相對來說,Facebook的大腿雖然沒有微軟粗,但至少還是比較靠譜的,知乎網友lucifron表示:雖然React現在還沒有達到穩定,但是感覺微軟的坑會更多。最關鍵的是React很早就已經是雲養的孩子了。