Web开发转向移动开发 我是这样做到的

开发 前端
我的职业开发生涯是作为一个Web开发人员开始的,使用的是PHP。不久后,我切换到.NET生态系统,使用C#和ASP .NET MVC框架来继续搞web开发。我一直以来创建的都是Web应用程序,直到最近……

我的职业开发生涯是作为一个Web开发人员开始的,使用的是PHP。不久后,我切换到.NET生态系统,使用C#和ASP .NET MVC框架来继续搞web开发。我一直以来创建的都是Web应用程序,直到最近……

几个月前,我开始用Android和iOS来开发移动应用程序,然后多亏Xamarin,我依然可以使用C#。我之所以写这篇文章是想分享一下我做了这个改变之后的感受。

[[147297]]

为什么下这个决定

你可能会问,为什么我会决定从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

 

责任编辑:王雪燕 来源: 码农网
相关推荐

2015-08-28 08:44:43

web移动开发转行

2017-07-13 17:33:18

生成对抗网络GANIan Goodfel

2011-07-07 13:19:38

Web

2013-09-04 14:49:10

移动Web前端开发设计理念

2016-09-29 09:22:01

移动WebHtml5

2017-07-18 10:16:27

强化学习决策问题监督学习

2015-07-16 13:57:06

移动web开发规范

2014-03-28 15:36:43

移动WebJavaScript开发框架

2011-05-11 09:47:14

mobl移动web开发

2011-12-28 17:08:11

移动Web开发开发工具

2012-03-06 16:57:40

jQuery mobijQuery mobiframework

2011-10-28 11:20:25

移动Web

2013-09-10 16:16:19

移动网站性能优化移动web

2012-01-18 14:29:42

移动Web应用开发

2011-02-21 09:10:42

WebHTML 5JavaScript

2012-09-28 09:12:39

移动Web

2015-09-01 09:53:04

Java Web开发者

2020-09-24 17:15:11

前端Web移动

2010-09-16 08:58:21

Rails 3Yehuda Katz

2011-12-29 10:48:49

移动Web
点赞
收藏

51CTO技术栈公众号