原創|行業資訊|編輯:黃竹雯|2016-09-13 16:11:42.000|閱讀 1793 次
概述:Christian Helle談論他使用Xamarin兩年的經歷以及他對Xamarin具體的想法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
我已經沉默了兩年,因為我基本上無所事事只做了基于Xamarin的開發研究。在這段時間里,我已經完全參與到創建我在日常生活中實際使用的音樂應用程序上面。
我與痛苦掙扎,并與我使用的開發工具建立起愛/恨的關系。我主要是用Mac工作,因為我們建立只針對iOS和Android的產品,并且我很崇拜Xamarin Studio。它超級快速和簡單,還讓我想起了過去十年Visual Studio的美好的困難時光,那時它幾乎只是一個大的文字編輯器,有著一些花式的功能。
當然,Xamarin Studio有它的起起落落,有時它只是不想合作。每一次新的“穩定”版本發布,我都需要確保我只在非繁忙的日子更新,因為如果我安裝一個重大更新或只是簡單的更新,我就會面臨失去所有的生產力的風險。一些更新有很大的突破性!
一些重大更新是次要的,很容易解決,但有些圍繞這個問題的工作是相當復雜的。我記得有一次,由于命令行生成工具不知怎么的過時了,它建議我們從MDTool移動到XBuild,我們所創建的失敗了。雖然該變化聽起來微不足道,但它花費了我一整天的工作以更新所有我們生成的腳本和雙倍檢查每一個構建配置,看看他們是否像應該在我們建立的服務器上那樣工作。
除了全職為音樂服務公司做只做了基于Xamarin開發,我也做了一些其他項目。對于這些項目,我使用Xamarin Forms,因為它顯示了許許多多的承諾。早期的版本是可怕的,但他們最終變得更好了。
對于簡單的用戶界面需求,它是絕對完美的。利用Xamarin.Forms你可以創建一個跨平臺的用戶界面,你只需用XAML或代碼進行一次編寫(我會選擇用C #)。在Xamarin. Forms你可以利用共享的UI工具,這樣你只需要寫一次UI代碼然后將它原生渲染在iOS、Android和Windows Phone上,或者,你可以創建自定義的渲染器,讓你完全控制使用你選定實施控制或整個屏幕的平臺的API。當你最終使用自定義渲染器,Xamarin. Forms就會開始對你試圖建立的應用程序干預越來越少,但是對于業務線應用程序來說,它是完美的。我可以看到Xamarin.Forms美好的前景。
了解和理解平臺總是比依靠跨平臺工具更好。在我的整個職業生涯中我一直在做多平臺解決方案,我獲得的經驗對我來說是一個很大的優勢,因為我明白了很多東西是如何工作的,還有API為什么要做他們所做的。
跨平臺問題的一個很好的例子是與Bitmaps協作。簡言之,一個位圖是一個包含Red-Blue-Green-Alpha像素信息的32位整數數組。如果你做跨平臺開發和圖像處理,你將需要確保像素信息字節的順序是一致的,才能使你所用的算法在所有針對性的平臺上有效。這可能會對一些人來說是一個驚喜,但像素信息為每個平臺的位圖的API的存儲方式是不同的,例如,IOS使用Red-Blue-Green-Alpha,Android使用Alpha-Red-Blue-Green,Windows使用Blue-Green-Red-Alpha。所有這些平臺的API允許你檢索像素緩沖器(32位整數數組)在一次調用中避免調用緩慢API,像GetPixel(x,y)數百甚至數千倍。
為了讓事情更有趣,Xamarin.Forms.Color結構有一個靜態的輔助方法稱為FromUint(unit argb),但文件(在編寫的時候)介紹的方法用請求的RGBA值返回一種新的顏色,方法的參數被描述為一個單元,代表顏色的ARGB值,返回值被描述為一個RGBA顏色。這有點混亂!最終,Xamarin將糾正這些小細節或開發者將不得不和它們在一起。
我剛剛結束了一個項目,并可能在一段時間不會再接任何新的項目,所以我可以花更多的時間學習很棒的新東西,或在某些情況下,了解很酷的舊東西。我有一些愛好的項目,我一直打算開源一段時間,所以我可能會去完成這些,最后發布出來。我在一些開源項目上有一些成績,比如SQL Compact Query Analyzer(50K下載)、SQL Compact Code Generator(15K下載)、ResW File Code Generator(4K下載),所有這些都有非常建設性和積極的評論。我一直很喜歡創建開發工具,我希望在不久的將來能夠開發出更多好東西。
本文翻譯自:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn