欢迎来到深圳市来科信科技有限公司网站!
您当前的位置:深圳APP开发 > 新闻资讯 > APP开发资讯 >

已阅读

开发一款APP应该如何选择技术架构?

来源:lexintech.com       发布时间:2017-09-19
技术选型对于APP开发来说,是非常重要的一件事情。无论是自己组建开发团队,还是找第三方APP开发公司外包。在技术选型上,都要重视。
 
APP应用架构解析
 
技术选型实际上是从不同维度对产品进行分解的过程。通过分析,合理分解出各项技术需求,然后对各项技术需求进行综合评估并最终选择合适的框架。
 
首先,所有产品都可以从架构上大体上划分为几类,具体到每一类都有相似的架构风格,它们通常在各种架构要素的具体要求上有很大的相似性。因此确定产品类型和架构风格有助于我们参照现有的产品来做技术选型,这样可以大大节省技术选型的工作量并降低由于技术选型不合适而带来的后期的开发维护风险。
 
技术框架的类型很多,不同的类型还有更多的细分。如WEB应用,信息展现类和社交类选型显然是不同的。除此之外,每种产品类型的选型也会存在重叠,如RCP和RIA应用,尽管UI层的选型完全不同,但是并不妨碍两者后端选型的相似性,如两者都是数据展现及交互复杂的企业应用。
 
总之,产品类型就如程序设计上的设计模式一样,便于我们快速将产品分解为几个重要的架构要素并且对应到其常见的解决方案,为我们的技术选型工作发挥很大的指导作用。
 
其次,架构分层可以帮助我们以“分而治之”的思路来进行技术选型。这既包括“逻辑分层”,也包括“物理分层”。逻辑分层使得我们将技术选型分为展现层选型、业务层选型、持久层选型以及数据资源层选型等,然后我们再按步完成选型工作,每一步除了要考虑其对应的架构要素外,还要考虑上下层的集成方案。如方案的复杂度、健壮性、性能等。而“物理分层”则确定了各层之间的通信框架选型,同样我们需要考虑通信的性能、安全性、有效性等。
 
最后,无论是产品类型还是架构分层,这两者的结合都是便于我们将技术架构选型进行合理的分解,将关注点充分聚焦,从而在各框架间做有效取舍。但是除了各项技术要素及指标外,还有很重要的一方面对技术选型有非常大的影响,那就是学习成本、社区活跃度和技术成熟度。
 
对于两个技术框架的各项技术指标相近的情况,我们自然要选择学习成本更低、社区活跃度更高以及技术成熟度更高的一个。
 
对于一些新出现的框架,虽然理念非常好、社区非常活跃,但是其框架可能并不够健壮,需要更多的时间在生产环境中去完善。此时纵使其有更好的性能等的表现,我们也要审慎的来选择,或者在一些非核心的模块局部进行引入试验,或者不引入该框架,而是合理设计系统的集成方案,以便在其足够完善时能够轻易的进行框架迁移替换。
 
换句话说,当我们认为一款新框架有足够好的性能、可扩展性、可伸缩性时,我们更需要冷静的考虑以下它是否足够健壮,它的这些特性是否是我们所必须的。有时候你会发现,它很快、很灵活,但是却并不是你必须要拥有的,你引入它带来的系统质量的提升远远抵消不了因为维护它增加的成本。
 
总之,选择一款最合适你的产品的框架,而不需要对各项架构要素进行极限追求。这也是为什么各种新框架满天飞的当下,很多十几年前的框架仍保持旺盛的生命力的原因。
APP开发 网站开发 产品设计 微信公众号 APP开发公司 用户体验 APP运营 微信小程序 产品经理 网站设计