我是如何從Web開發轉向移動開發的?

2015-08-28    分類:程式設計師人生、首頁精華4人評論發表於2015-08-28

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

我的職業開發生涯是作為一個Web開發人員開始的,使用的是PHP。不久後,我切換到.NET生態系統,使用C#和ASP .NET MVC框架來繼續搞web開發。我一直以來建立的都是Web應用程式,直到最近……

幾個月前,我開始用Android和iOS來開發移動應用程式,然後多虧Xamarin,我依然可以使用C#。我之所以寫這篇文章是想分享一下我做了這個改變之後的感受。

為什麼下這個決定

你可能會問,為什麼我會決定從Web開發轉向移動開發。因為我想要做一些新的東西以學習新的技能,雖然在web程式設計上我仍然有很多需要學習的地方。

我認為,移動app有一個前途光明的未來,雖然已經有很多app存在於網上的商店裡。但是,新的移動裝置來了,如智慧手錶,它們是開發人員嶄新的機遇。這是一個學習如何為移動裝置建立應用程式的很好契機。

更何況我目前就職的公司恰好有這個機會能夠使用我最喜歡的語言(C#)來開發新的Android和iOS應用程式,那麼為什麼不利用這個機會呢。

新的程式設計模式

我知道程式設計的方式是會變的,這從我以前經歷過的一個叫做Windows Phone的專案,一同參與開發移動應用程式時就已經得知。但我還沒有準備好要做什麼,並且也不認為我能做好準備。

不像網站中的應用程式有特定的生命週期,你不能只是用響應來回復請求。幾乎所有我從構建Web應用程式中學到的東西都不能幫助我——正規化是全新的。

在這個領域中,非同步程式設計是強制性的,因為如果一切都執行在使用者介面(UI)執行緒上的話,應用程式會停止。我一直都想提高自己在這方面的技能,而且也被我找到了一個實現這個目標的好方法。

分離關注點也不同,不再有Model View Controller(MVC),使用的是Model View ViewModel(MVVM)模式。即使我已經用過(在WPF和Windows Phone中),但並不是在同一水平,我仍然有很多東西需要學習。

當然,你還必須使用模擬器來測試應用程式,每次要測試的時候,你都必須建立並部署模擬器,你不能只是重新整理頁面來看發生的變化。反饋環很長,大多數時候都需要幾分鐘才行,因此除錯會很慢也會很重要。

走出安樂窩

我大概在兩個月前,開始工作於應用程式,並且現在仍然有很多東西需要學習。我需要處理兩個我完全不曾涉足的生態系統(Android和iOS),兩個我一無所知的框架(Xamarin和MvvmCross)和一些並不容易滿足的業務需求。不過,幸運的是,至少我知道如何使用C#。

現在的我每天都在奮鬥,我有很多東西需要考慮,主要的就是一些與我新的開發環境相關的“怎麼做?”的問題。還有很多“如果…怎麼辦?”的問題:“如果網路不可用,怎麼辦”,“如果這個解決方案太慢,怎麼辦?”,“如何為客戶提供最好的體驗?”……

有時候,我一整天都沒有辦法產出任何東西,說實話,那個時候我會覺得自己真沒用,是個欺世盜名之徒——既然我不能在工作上生產出任何有價值的東西,那麼怎麼能認為自己是一個專業的軟體開發人員呢?

嗯,我覺得這種感覺就像走出自己的安樂窩,正處於學習階段的一個峰谷中。

有峰谷的學習速率

不放棄

不過我不是唯一一個正在轉換的人,我不是一個人在戰鬥。團隊中的所有人都不得不面對相同分量的學習,高階開發人員和初級開發人員皆是如此。

現在回過頭去看我這兩個月的歷程,我認識到,我還存在著各種不足,需要走的路還有很多,但我也學到了很多東西,比如說現在對於非同步程式設計和那些MVVM模式的概念相對而言熟悉多了。

如果我想成為一個專業的移動開發人員,那麼我依然需要繼續學習,繼續完成我的旅程,學習我缺乏的技能,產出符合客戶期望的價值。即使我的工作時不時地讓我苦不堪言,但是我不後悔,因為這是一個非常棒的學習機會。不管花多少時間我一定會成功。對了,以後我會分享一些Xamarin的技巧和竅門。

希望下次再見!

譯文連結:http://www.codeceo.com/article/from-web-to-mobile-dev.html
英文原文:From web to mobile development
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章