以前一直是做.net 项目,致力于web网站开发,年初,公司接了一个web网站开发项目,客户的要求是除了做web站点外,需要开发移动app,支持目前主流的Android和IOS手机系统,并且支持多分辨率和各种Pad等。
项目之初定的方案是用Html5和jQuery.Mobile做手机页面,用嵌套webview的方式实现,这样就可以一套程序走天下,对我们这些只做过web开发的人肯定是更容易。可惜天不遂人愿,客户就是强烈要求要原生AP,shit,这样就必然需要做移动开发,而且需要做两套程序,因为IOS是封闭的,必须用Object-C语言开发,这样始有了,我的学习之路,其实谈不上学习,因为公司压根就没给任何学习时间。
项目开始,去客户那调研,开项目启动会,整理需求,画UI原型,最后形成需求文档,几百页的项目需求文档,一周内完成,写的哥都快哭了。需求文档修改多版之后,终于确认了,又要写框架设计书,评估项目开发的需求人天,反正前三个月一堆的文档要写,客户是跨国大公司,要求特别多,挺烦这样的公司的!
5月初,终于web网站开发,这次用的是全新的技术,以前我们是维护产品的,产品是十几年前打的框架,用的是C#语言,起初用的是VS2003开发工具,后期产品升级到.net2.0用的是VS2008,虽然是后续有升级,但都是小修小改,增加一些功能,所有主要代码还都是十几年前的前辈们写的,我们一直就是在这样的基础上给每家使用产品的客户定制化,修改bug等。
说这么多其实就是想说,我们一直没接触过什么新技术,这次定义的框架是使用VS2012开发工具,.net fromwork作为框架,使用MVC的开发模式,其实后来真正做下来用的MVVM设计模式(M=Model V=View C=Controller VM=ViewModel),ViewModel是使用Knockoutjs框架来实现的,客户为了安全,把网站分为三台服务器部署,public服务器,即放View的地方,Model服务器,即是放主逻辑的地方,最后是放数据库服务器的地方,public服务器不能与数据库服务器直接通信,必须通过Model服务器,这里我们使用WebApi进行通信。
具体WebApi是什么?我会在下一章讲述,说了这么多,除了讲一下项目背景之外,主要是让朋友们可以了解我们移动App接口是怎么由来的!
做了两个月后web开发后,就被扔到手机研发中心,这边是专门做App开发的,但是他们也只做过Android开发,ios也在学,我来的时候,他们正在搭建Android框架,我的第一个任务就是定义App接口,心碎了,本来以为,可以立马学习Android的,谁知道App接口是大事,以前没接触过,完全的被动。
前三天,开会,讨论,分析和定义所需接口等,三天后,接口文档形成,经确认之后,就是开始要实现这些接口,5天共50个接口需要实现,在五天中就是各种苦逼,各种加班。我只想说,你妹啊!
下一章我在讲如何开发移动App接口。