Cordova webapp实战开发:(1)为什么选择 Cordova webapp?
很长时间没有专注写代码了,即使写点代码也主要是写写敏捷个人app,这个App主体内容是我用了一周的时间,使用PhoneGap+JQueryMobile搭建的,之所以会比较快的完成,是因为11年我在做建筑云运维项目时使用过。

时隔几年,我在 《掌中广材产品经理日志(1)- 妈的,不想再呆在广联达了》写到,今年初我到了工信部负责一款之前已经做过一年多的APP,这款产品叫做掌中广材,大家可以各大市场下载到。
本系列初衷
现在Web App越来越流行,但是很多人却不知如何开始,自己学习使用Cordova开发,却遇到各种问题不知如何解决。本系列就是帮助大家从0开始学习,如何成为一个全栈型的Web App开发人员。也希望有更多优秀的开发人员出现,而不是像现在,Web前端因人多而泛滥且难招而贵,但是却没有多少优秀的开发者。
开发人员构成
之前的掌中广材使用的是原生开发方式,在我接手项目的时候,开发人员有3个,一个Android、一个iOS、一个后台Java,在我的产品经理日志系列文章中也都对团队进行详细介绍,这里就不再重复。
接手任何一个新项目其实还不难,接手一个已有项目却显得更难一些,因为很多人都不愿改变,也有很多人会拿着以前好的与你现在不足的比,不过幸好我对这些都不感冒,我就是我,按照自己的开放产品开发方法,一步一步重头开始。
这个项目组的开发效率并不高,遗留的一些老问题一直未能解决,后台经常不能与大家一起配合可能是一个主要原因,这与我要的快速开发产生了一些差距。其实做一个产品,可能很多技术都可以,而最后决定采用哪种技术,是由做产品的人来决定,你感觉能越有信心把控哪种技术,可能就会采用这种技术。
我要求快速开发,我要求将来还能通过其他方式的渠道来使用掌中广材,所以最后我选择了Web App的方式来开发掌中广材。从技术上来说,掌中广材不需要高性能和特别高的原生体验,所以Web App完全可以满足。当然,在我决定做之前,工信部是没有人使用过H5来开发APP的,很多人都很怀疑,我能理解,但是我不能耽误我的时间,所以我不做太多解释,而是自己开始做,等做完了也就不用解释了,因为即使我现在再解释,对他们来说都是没用的,反而会耗费我的精力。
因为采用Web App方式,所以Android和iOS开发人员并不是主要人员,之前的这两位程序员也离职。而后台JAVA工作方式与团队不吻合,也被我辞退。在没有开发人员的日子,我重新开始做起了码农,想想一别那么久没有写代码,重新敲起代码,依然能感受到自己对技术的那份热情依旧存在。
所以,有一个多月的时间,我即是产品经理,也是架构师、程序员,还是运营推广人员。即使到现在,我们也就还有一个后台和一个产品助理,我依旧兼做着多个角色的工作,但是忙而不乱。
采用的技术
掌中广材App看起来不复杂,就几个页面,但是说实话,现在做的代码有点点乱了,有时间我要把单元测试做起来,再换成面向对象的一些方式来更好地处理维护性,这算是敏捷中说的技术债务吧。
下面我说一下这个产品的一些技术说明,以便大家在后续学习中有所总体了解,后面我会再慢慢与大家一步一步的介绍,如何从0到1的做一个Web App的全栈型开发人员。
- 移动开发框架:Cordova
- Web页面框架:JQueryMobile
- 前端脚本库:JQuery、iscroll、progress等
- 后台语言:JAVA
看看产品长什么样吧
学习之前看看使用Cordova+JQueryMobile开发出来的App长什么样吧,看完之后你觉得还比较适合自己的胃口,那就继续关注这个系列来学习吧。
另外,如果你身边有与建筑、造价、采购相关的人员,可以向他们推荐这款APP啊,掌中广材,随时随地快速的找到各地信息价和靠谱市场价



如果想下载体验一下,那就扫描上图带有二维码的图吧,实际跑一跑,看看运行效果,然后决定是否继续学习这个。
开发感受
为什么选择 Cordova webapp?不是我觉得Web App一定就比原生开发好。如果我有足够的原生开发人员、我有足够的时间,我选择原生技术也许会更好。正如本文开篇所说,任何选择只有考虑了当前情形之下做出的选择才是有效的,所以为什么选择Cordova webapp呢?那是因为在时间、人力、未来产品形态上,这种形式我更觉得有把控力。
从总体开发进度来说,开发Web App,我觉得至少会比原生App开发要快比较多,而且通过Web方式开发可以在Android和iOS,以及微信等Web方式重用,所以你要的人力资源也会少,当然,前提是你需要一个愿意成为全栈型开发人员的人。而这也是本系列的一个初衷,我希望现在的开发人员不要总是被精专一词所迷惑,其实不是做技术难度特别大的,你成为通才有助于你锻炼自己的学习能力,还能加强你的核心竞争力,成为全栈型开发人员不是为了别人,而是为了自己。
这只是这个系列的开篇,没写和技术有关的,这是后面博客要写的内容。如果你对这个系列哪些内容感兴趣,或急于先解决的,也可以回复我。
PhoneGap开发群 477842664
Cordova webapp实战开发:(1)为什么选择 Cordova webapp?的更多相关文章
- Cordova webapp实战开发:(2)认识一下Cordova
昨天写了第一篇 <Cordova webapp实战开发:(1)为什么选择 Cordova webapp?>,意料中看到大家对这个主题的兴趣,我新建的PhoneGap App开发 34819 ...
- Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?
到<Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?>为止,我们已经大体学会了如何使用Cordova了,那些都是使用Cordova的开发者必备的技能. ...
- Cordova webapp实战开发:(5)如何写一个Andorid下自动更新的插件?
在 <Cordova webapp实战开发:(4)Android环境搭建>中我们搭建好了开发环境,也给大家布置了调用插件的预习作业,做得如何了呢?今天我们来学一下如何自己从头建立一个And ...
- Cordova webapp实战开发:(4)Android环境搭建
在<Cordova webapp实战开发:(3)后面可能会学到的东西>中我们说了一下后续大致包括的内容,今天我们继续.上周我在掌中广材集成了友盟的社交分享,今天想集成iOS应该很顺利的,但 ...
- Cordova webapp实战开发:(3)后面可能会学到的东西
在<Cordova webapp实战开发:(2)认识一下Cordova>中我们了解了Cordova和Phonegap的关系,并简要介绍了一下它的架构,以及多平台性,并给大家留了一些作业.我 ...
- Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?
上一篇我们学习了如何写一个Andorid下自动更新的插件,我想还有一部分看本系列blog的开发人员希望学习在iOS下如何做插件的吧,那么今天你就可以来看看这篇文字了. 本次练习你能学到的 学习如何获取 ...
- Cordova webapp实战开发(20161207 )
http://www.cnblogs.com/zhoujg/archive/2015/05/28/4534932.html 1.https://www.jetbrains.com/idea/downl ...
- 前端开发我为什么选择cordova
cordova与phonegap有什么关系? phoengap 官方网址:http://phonegap.com 如果能了解一个框架的兴起还是一件比较有趣的事.08年一次ios开发者大会上来自Nito ...
- vue2.0与实战开发
慕课网实战 百度云 web前端实战: Node.js入门到企业Web开发中的应用 Web前端性能优化 让你的页面飞起来 前端跳槽面试必备技巧 前端JavaScript面试技巧全套 node.JS 线上 ...
随机推荐
- MVC模式下如何实现RegisterStartupScript等功能
本文源于http://www.achtmaal.com/blog/asp-net-mvc-and-registerclientscriptinclude,非常感谢原文作者的智慧和分享 Register ...
- 2013-09-22 [随笔]-Roy
不能因为一些小事情而一直影响自己的心情. 每天过得都应该有重点,无论是家庭还是工作还是其他. 要多花时间去吸取些新东西,看书,丰富自己的想法. 不能让日常的乱七八糟影响心情. bingo!
- MySQL JDBC 出现多个 SHOW VARIABLES 语句。
一次偶然的机会,show processlist 的时候,发现有个 Client 一直在执行 "mysql-connector-java-5.1.21 ( Revision: ${bzr. ...
- blogilo在chinaunix发布博客的设置
1. 在日志类型菜单中选择"Metaweblog API". 2. 在日志的远程发布url中输入"http://blog.chinaunix.net/xmlrpc.php ...
- SQLSERVER的一个不显眼的功能 备份文件的分割
SQLSERVER的一个不显眼的功能 备份文件的分割 当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了 但是如果要完整备份业务库需要12G的空 ...
- asp.net linux 环境部署, jexus
cd /tmpwget linuxdot.net/down/jexus-5.8.1-x64.tar.gztar -zxvf jexus-5.8.1-x64.tar.gzsudo mv jexus /u ...
- MySQL5:性能优化
性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能.MySQL优化,一方面是找出系统的瓶颈,提高MySQL数据库的整体性能:一方面需要合理的结构设计和参数调整,以提高用户操作响应的 ...
- 作业三:PSP记录耗时情况
PSP2.1 Personal Software Process Stage Time planning 计划 15min Estimate 估计这个任务多久完成 130min Developing ...
- Syncfusion 复选框 ComboBoxAdv
XAML: <syncfusion:GridTemplateColumn.EditTemplate> <DataTemplate DataType="viewModel:C ...
- [.net 面向对象编程基础] (20) LINQ使用
[.net 面向对象编程基础] (20) LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integr ...