英文原文: Building Mobile App for Enterprise,编译:牛秦勇
这篇文章主要关于如何开发企业级移动应用。今天我读了Charlie的关于移动应用开发的文章,并且从企业的角度分析了hybrid应用的情况。
总览
最近我关于开发企业级移动应用的交谈大部分都是以“我是否该用Hybrid或者Native”这样的问题开始。是的,很多组织出于成本上的考虑对 “Hybrid”方式很感兴趣,但依我之见,任何决定都应以用户为导向而非成本。所以,要得出这个答案要这么去想“怎么才能给最终用户最好的用户体验”, 而不是一直问“我们怎么才能降低成本”。不光企业级应用,所有应用都是这样的。
另外,从企业的角度来说,我认为达到终端独立是另一种降低成本和将来达到投资目的的方式。所以,选HTML5,Hybrid还是Native只是决定选择的一个因素,这里还有一些当你讨论移动策略时要考虑的因素:
设想阶段要考虑的:
1,目标用户分析
2,以一个简单的框架开始,像Forrester的POST approach
3,差距分析和组合合理化
为移动应用的开发和分发制定策略
1,移动web/纯HTML/JSS
2,Hybrid 应用(本地中的HTML5/JS应用,像Phone Gap 或者Titanium中的本地部分或插件)
3.本地应用
关于通用服务层的考虑:
1.创建或实现一个可扩展的通用服务层
2.在服务层和传统系统之间实现一个可扩展的中间层
3.确立保准(就像用REST)
4.为媒体分发确定和整合内容分发网络
测试模型
1.安全和性能
2. 基于设备的测试
提交管理
1. 支付模型
2. 已提交模型的跟踪
3. 分析
4. 反馈跟踪
5. 继续开发
好了,这些就是移动开发策略的一部分,尤其当你讨论企业移动应用时,移动终端独立是关键点,开发者要理解使产品有逻辑性和数据的有效性对多种终端的必要性。
在你周围已经存在的数据和智能中,REST已经成为越来越多的创建公共服务层的默认选择。
Hybrid对Native
现在关于Hybrid和Native,下面是我看到的主要的利弊两方面的东西:
Hybrid 应用:
有利的方面:
-
不需要为某一特定平台开发
-
更好的投资回报率,代码可在多个平台重复使用
-
仍可以访问设备的某些特性
-
可以打包到另外的渠道
不足的方面:
-
特殊化的UI很难做
-
响应不够快,且不像纯本地应用那样富含多种特性
-
当实现特定的最优化的特性时,可以遇到限制。
本地应用
有利的方面:
-
高度订制,能满足边界条件。
-
很高的可用性。
不足的方面:
-
平台的多样性
-
对每个平台的投入
-
没有统一的代码库及重用性
更多
当你在考虑企业级移动应用时,再说一次,别在是用Hybrid还是Native之间考虑了。
从中间件的角度
1.选择一种策略,以使存储、计算你的移动应用的资源可以在移动设备,本地存储和云计算设施中实现。
2. 在移动应用间连接,通信,代理时使用代理服务,
-
· 在代理的最上层自定义实现,就像Windows Azure Service Bus
-
· 创建面向web架构的移动应用,就像Marlabs Matrix平台
-
· 第三方移动中间平台,像Syclo等
3.如果需要支持多种认证机制,像Azure Federated Authentication.,那就用基于联合的云认证服务。
4.采用基于push通知服务的云服务从你的移动设备发送和接受消息。
5.选择一个支持比特率传输视频内容的合适的内容分发网络,例如Azure CDN或者Limelight True Reach API.
6.使APIs支持扩展,跟踪,反馈。
提交管理包括为支付模型,使用追踪,分析和支持反馈制定一个合适的策略。提交管理应该保证:
提交应用到应用商店时要有最少的条件
适当听取用户的建议—反馈和评分应用来确定哪些可要哪些可不要
发布和更新要符合用户的期望
所以,编码快乐!