首页 > 代码库 > 关于移动开发的一些讨论(在有些场合,移动就是噱头,胡乱鼓吹是不负责任的)

关于移动开发的一些讨论(在有些场合,移动就是噱头,胡乱鼓吹是不负责任的)

一些是和公司一个同事关于移动的认识上的一些邮件讨论。一堆话的方式

L:

    经过长期跟进和信息收集,我在windows移动端有了一些建议思路,希望公司让我来启动这方面的研发。公司里面对于windows研发你是最资深的,所以我们俩先交换一下意见,请从技术角度和微软发展、业界发展的角度看一下这个思路可行吗?谢谢!详细情况,请见附件。

(附件:移动开发建议书)

1.目标及产物

采用Windows本地化程序开发(基于.Net技术、windowsPhone技术)实现一套客户端框架,以承载未来的移动ERP、移动OA、移动HR等一系列具备鲜明特色的企业应用。

只是实现一套客户端框架,后台服务方式与目前不变,保持相同。比如,可以在平板上制单,可以填入库库,可以制凭证。等等。

2.背景及原理

未来是移动的未来,但是没有后台系统的依拖就移动不起来。我们现在基本掌握了后台系统框架。我们有ESP、SmartWEB、Cloud技术为后台提供丰富而强大的支撑。现在,至少在技术层面,我们可以把目光转到设备端。

目前,在设备端一片汪洋,无所适从。企业应用如何移动起来,没有定论,也没有人实践。IOS、Andriod、Windows三者究竟何从何从?未来的应用形式将是什么样子?

未来,设备+云的形式板上钉钉。设备可以是PC,可以是平板电脑,可以是手机,也可以是任何一种智能设备,如智能手表,智能家居等等。形式太多,我们只谈企业应用。

企业应用中,苹果已经与IBM合作,试图在企业端让他移动起来,但两家大哥大的合作效果如何?我估计效果是乐观的,会催生出这个市场,让用户接受。相信Ibm 要做的是真正的企业应用,而不是现在的移动审批这种简单事情。

微软将在未来两年内统一手机、平板、电脑的操作体验,至少会在开发层面上,统一把三套系统的API为一套。在未来,甚至在眼下,windowsPhone的开发与Windows桌面程序的开发已经几乎一致。所以,在微软的世界里,可以不太分桌面程序和移动程序。而真正的企业应用,会在“平板电脑”这类设备上发力。

处理能力和功耗随着Intel新型移动芯片的发布,微软基于windows的设备会越做越轻薄,越做待机时间越长,完全可以满足一整天的工作。而这些基于Intel芯片 的设备,会有一半是完整的pc架构的设备。完整pc架构意味着什么?可以跑win8,可以运行如此多的应用程序,以前在pc上能做的事,现在,在平板上都可以做了。

所以,到底企业移动在何时爆发,我认为得看芯片商的努力和OS厂商的努力。面向未来两年的发展来看,Intel处理能力和功耗的解决是必然的。

我跟踪这类应用两年有余,我相信,微软终会在企业移动应用有所建树。这是它的基因和技术壁垒所决定的。 就算苹果+Ibm取得了成功,但不可能一枝独大,况且业界也有一半的声音认为IOS的基因和封闭也不适合承载企业应用。

微软目前看上去有点问题,但正因为是这样,才需要切入取得时间上的优势。

3 . 推进及落地

l  所需要的人员:

.Net程序员两名(C#语言),这种人才要比IOS开发的人好找多了。现在我认为.net在移动端有机会,在服务端肯定是没机会(被java全部占领了)。

l  所需要的设备:

Windows 平板电脑。

l  所需要的开发环境:

widnows8 + .Net开发环境。现在我们配的笔记本就可以。 

l  如何落地: 

前面说过,在微软的平台里,将来都不怎么分移动和桌面。移动应用会涉及到UI、通信、硬件接口(如各类USB定制设备)。

提到USB定制设备,我认为这是windows平板的绝对优势。平板不是光用于审批单子的,它可以拿着随便走动,在码头、厂房、仓库、机场、超市、油区等等几乎全部的环境。而在这些环境中,我希望我们运行在平板里的windows程序,可以通过各类usb定制设备去感知、采集、输入这些场景需要的数字信息。这个,必须有一个USB接口。如何用好平板,必须从硬件上多考虑,单纯的软件还是在电脑里转悠,是不行的。

另外,还可以保证开发一套这种客户端,可以同时适应公司目前的多种后台架构。统一设备端与后台服务的调用规范我提过多次,是可以实现的。

4 . 总结

公司未来几年会面临发展和变化,有机遇有挑战。作为股东,我非常希望公司有新的亮点出现,有新的产品出现。时间不等人,我们需要与时间赛跑,要避免不合理的决策造成时间上的错失,一定要在合适的时间,让合适的人去做合适的事。本文所说的Windows的这个领域的开发在公司目前尚是个零。但我已经跟踪了两年,除非微软windows系统在移动端就此死掉,否则一定会成功。

----------------------------

ME:你好!

1,  我不是很赞同将来移动会有很大作为这个观点,就我们服务的客户来讲,移动应用场景还是比较少。做了也只能起到宣传的效果。

2,  微软在移动端会有很大的前景,这个可以有。

放下上面的两点意见不说,提几点意见,共探讨。

1,  是采用本地话还是网页开发

我倾向于网页开发。理由有2:一是网页可以兼容所有移动端设备。二是,随着网页技术的发展,网页设计的难度越来越少,展现方式和效果也越来越绚丽和丰富。三,如果做本地话的话,不同的平台需要不同的技术和人员,对普联来讲是个浪费,尤其是在目前人力比较紧张的情况下。

纯网页开发的问题,1是平台兼容性和浏览器兼容性,2是访问本地资源的安全性问题,比如访问本地设备,文件等等。兼容性就是个工作量,而访问本地设备,可能需要开发不同平台的插件。这个需要比较处理这些问题的成本与目标移动设备本地化开发投入的成本大小。如果前者的成本大于后者,那就考虑本地化开发。

一个折衷的方案是开发一个壳子,对内嵌入网页,对外访问本地资源。

2,本地化客户端框架开发。如果使用本地化开发,“实现客户端框架”,很有必要。但不建议做界面设计器,只做结构方面的框架,提供开发模式和标准、界面和非界面组件就ok了。界面设计器我们没有这个功力,做得不好,会大大影响开发效率。

我对移动开发这块没有过多了解,仅供参考,所以以上意见也许对你没有很大的帮助;再者,在公司总体技术路线上,你比我有全局观。其实公司不是做什么的问题,而是怎么做的问题。

===============================

L:为什么看法相差这么大呢,难道是我太乐观了吗? 我觉得以下几点值得考虑:

 1、  如果有一个移动的pc,比如surface pro这样的设备作支撑的话,真正移动应用可以开展,不仅是审批类,多种场 景都可以用,这将是一个与现在不同的世界。

2、  在平板上、手机上,我认为原生的应用体验更好。而且我的想法是必须要在设备端控制各类外接设备,实现一些底层功能,这些是web所不能办到的。释放设备的能量,需要本地化程序。Web的方式作着忽悠一下可以,作为战略性发展的话,应该以原生为主。

3、  虽然面临多个平台,但我非常关注的是windows平台,ios或andriod可能承载不了这种重任。

4、  肯定不会做设计器,客户端只负责展示定义好的组件级的封装。我反对esp那种什么都是设计器的作法,效果适得其反。不给程序员留有空间,应用如何做好?

5、关于人力,我说的2个人确实也是可以的,后台都有了,中间层的数据交换都有了,我们只是把smartWeb的实现换成了.net本机实现,用js都可以实现的,用.net肯定都能实现,而且要加上读取硬件设备的一层功能。架构不会重新设计,服务不会重新开发。这在当初设计smartWeb总体框架的时候就想好了。

我感觉到企业移动应用就要到来,这不是简单的审批一个单子这种,而是各种各样的场景。很多都需要Surface  pro外接 usb定制设备才能实现。业界能出现Interl架构的Surfacpro是一个福音,希望更多的厂商能够跟进,推出interl+windows的平板。很多人谈移动必ipad,andriod,我看到的不是它们,而是windows。

 希望能够互相继续探讨。

=============================

ME:有点忙,回复一句。

1,如果你认为surface是移动设备的话,这个设备除了稍微便携一点之外,和pc有什么区别?Microsoft对surface的定义就是一个超极本,偶尔可以用作平板。在surface上开发系统,和在pc上没有任何差异,何来移动开发之说呢。

2,如果考虑更便携(屏幕更小)的windows设备,谁会用它来录单子,做更复杂的交互呢,还是个消费平台,而不是生产力平台?

我一直认为在生产领域,移动应用更多的是噱头,就像目前中原给客户开发的移动会议系统而言,每个与会者抱着ipad看文件,投票,这不是奇葩吗?而消费领域则不同,受众不不同,需求不同,没有可比性。

3,设计器不做很明智,和微软的ide来比,任何公司的所谓ide都是渣。

个人意见,共探讨。

========================

ME:你好!

系统上线,第三天,终于稳定下来,继续。

1,  其实,移动应用有没有前景,具体讲普联在移动领域能有什么作为,关键是看我们服务的客户,我们的项目有没有这个需求。这个简单,你可以把公司所有的产品,项目,客户过一遍,看看我们做的系统的性质,就能得出结论。我的了解,我们服务的客户,企业客户,开发的系统也是企业信息化管理系统,而且还都是经营管理类,而没有延伸到生产一线。这类系统的目标群体就是办公室一族,办公地点一层不变,他们几乎没有移动办公的需要(顶多在办公室处理不完的事务,回家加班处理,比如做凭证),他们的工作内容也很单一,都是重复的事务性工作。这种事务性的工作,需要的是大屏幕,快捷的录入,高效的人机交互;更高一层,可能就是领导层了,他们关心的是报表,图形,业务审批,只有他们才有一点移动的需求,领导忙嘛,经常在外边,有摆酷的需要。这也是我们正在做的。如果仅仅是这个话,目标群体就少很多,也没有多花的需求。

不过我们现在做的公共服务收费的这个项目将来可能有移动的需求:手机缴费。但是这个已经很成熟了,而且也不是我们的主业。

2,  你可以说,用户没有需求,我们引导他们。企业的信息化的过程,我理解是,战略咨询与规划—产生业务需求—技术开发,这是从上到下一个链条,我们的位置初一业务需求下端和技术开发,最多覆盖一个半的过程。我们做的每个以系统,几乎每一个都是客户提出的需求,从技术环境,开发语言,按钮的位置,菜单的命名等等。我们缺的是第一步,战略咨询与规划,也就是需求的源头,你怎么往移动上引他们,怎么能用技术的东西撬动上游的需求呢。

一句话,在我们的业务领域中,我想不出移动开发有什么作为,当然也可能是我们想到,么有经历到。在公司做个内部调查是个好方法。

其实普联可以做的地方很多,除了这个。

一家之言,仅供参考。

==========================

L:谢谢百忙之中给予的思考!

正如你说,移动这个事,目前我们做的基本就是一种点缀,引领的代价又太大。所以从这个角度来看,确实没什么值得去做的。

但冥冥之中,我感觉真正移动商务时代就要来临,而这个时代很可能要以平板应用为主,其实也正是微软的奋斗目标。所以,我只提到微软的平板与期解决方案,但并不是急于去做,也是观望。

微软给出的是介于平板-桌面的解决方案,或者说是能够移动的桌面系统。我觉得这是未来的一个重要方向。

由于我们公司做的都是企业管理信息系统,基本是给坐在办公室的机关的人用的。从这一点上看,移动总归就是一种点缀,顶多是移动审批,这个观点,两年前我也是这样表达的,也给X总说过,他还老大不高兴。现在我也这样认为,MIS这类系统并非是移动的必需。

我们能否跳出我们服务的客户来考虑,比如供应链系统、ERP系统,我们能否敢于喊出“移动ERP”或”移动XXX”的目标呢? 有没有新的领域我们可以去做? 比如:

1:比如移动HR,里面的招聘面 试功能,这样,我们的专家们不必跑现场,而是由HR的小秘去现场就行了,就可以远程通过视频来面试。

2:移动供应链,我觉得这是离我们最近的一个业务了。收、发、运输,移动起来会更爽。

 就我个人感觉而言,其实是在等待微软在这个领域有所作为,如果微软做不好,可能别人也做不好。我还是非常看重微软的能力。