《企业级ios应用开发实战》一1.2 iOS企业应用程序的架构

简介: 本节书摘来自华章出版社《企业级ios应用开发实战》一 书中的第1章,第1.2节,作者:杨宏焱,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 iOS企业应用程序的架构

本书把iOS企业应用定义为传统企业应用向iOS手机终端的顺延和扩张。在此定义下,iOS企业应用由服务端和iOS客户端构成,二者间通过3G移动互联网(CDMA/TD/WCDMA)连接或通信。

1.2.1 服务端

服务端(企业网络或Web服务)实际上为iOS企业应用提供企业数据和服务。如果把iOS客户端看做是前端应用,则服务端就是后台服务。服务端向前端提供一系列访问传统企业应用的接口,也可以为前端提供企业数据库和业务系统的访问。因此,iOS企业应用的服务端可能有两层或多层:接口、企业应用、企业数据库。
本书的核心内容是介绍iOS开发技术,不会对企业开发技术做过多的介绍。因此服务端代码(企业应用和企业数据库)的开发细节不会在本书中出现,但对于本书中涉及的接口,会提供必要的代码给读者学习。此外,本书中的接口代码是以Java编写的,需要读者对Java语言有一定的了解。

1.2.2 iOS 客户端

iOS客户端是一个标准的iOS应用,当然它也具备一些企业应用所特有的特点。但无论如何,它不应当是在浏览器中运行的Web网页。如果你想找一本介绍如何开发在iPhone浏览器上运行的Web网页应用程序的书,那么不应该是本书。
本书大部分内容旨在教你开发标准的iOS应用程序,这与市面上大部分介绍iPhone开发的书籍是一致的,但有一些例外。
首先,作为运行在手机上的iOS企业应用来说,安全是尤其需要注意的问题。因为iPhone等手持式移动终端所特有的一些特点,比如随身携带、随处可用,不需要登录,容易丢失等等,稍有不慎,就有可能导致企业机密的泄漏。
其次,对于企业应用来说,访问网络的需要,尤其是访问企业网络内部资源,如服务器、数据库等,永远是必不可少的重要内容。无论在任何情况下,网络带宽永远是企业的稀缺资源,对于企业应用尤其如此,因此,必须在节省带宽和提高用户体验中进行平衡。本书使用了很大的篇幅来介绍网络访问技术,此外,企业网络的类型(例如APN网络)会给iOS访问企业数据带来麻烦。由于iOS本身的限制,iPhone在切换APN网络时显得不太灵活——iPhone只能通过.mobileconfig描述文件切换APN。你可以在App Store上找到一堆的应用,专门用于给iPhone提供APN切换的功能。因此,本书也会介绍如何在自己的项目中实现一个简单APN切换器。
另外,与App Store中占据主要份额的游戏应用不同,iOS企业应用有使用数据库技术的迫切需要——作为企业开发人员,习惯于把业务数据保存在关系数据库中的这一顽疾早已根深蒂固——哪怕我们在客户端使用数据库的目的仅仅是出于把服务端数据缓存到本地的需要。
最后,还需要介绍一下文档和报表的显示。企业办公环境中离不开各种文档:文本、图片、视频和声音,尤其Microsoft 的Office文档俨然已成为了企业办公中公文流转的标准格式。如果在iPhone手机上竟然无法打开这些最为常见的企业办公文档,这绝对是一场悲剧。而报表和图表,是企业管理中最为常见的数据表现形式和数据分析手段,把企业运营数据以报表图表的形式进行展示,显然是iOS企业应用中应该提供的基本功能。
综上所述,企业开发人员必须充分认识到iOS企业应用的特点,结合企业的实际需要,才能开发出一个优秀的iOS企业应用。

相关文章
|
10天前
|
移动开发 供应链 Java
企业级智能制造MES系统源码,技术架构:springboot + vue-element-plus-admin
企业级智能制造MES系统源码,技术架构:springboot + vue-element-plus-admin。 企业级云MES全套源码,支持app、小程序、H5、台后管理。 生产调度:MES系统可以根据生产订单和资源状况,自动计算生产计划和调度,从而优化生产线的运作。
企业级智能制造MES系统源码,技术架构:springboot + vue-element-plus-admin
|
1天前
|
Cloud Native 持续交付 云计算
构建未来:云原生架构在现代企业中的应用与实践
【5月更文挑战第25天】 随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云原生技术以其独特的弹性、可扩展性和敏捷性,成为推动企业技术创新的重要力量。本文将深入探讨云原生架构的核心概念,分析其在现代企业中的应用实例,并提出实施策略和最佳实践,以助力企业在激烈的市场竞争中占据先机。
|
3天前
|
前端开发 JavaScript 程序员
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
4 0
|
3天前
|
存储 SQL 分布式计算
企业数仓架构设计实践
本文是一位数据架构师在设计企业级数据仓库架构时的思考与实践经验分享。从理论基础(数据仓库概念、Lambda架构、Kimball与Inmon方法)到工具选型(如Hadoop、Hive、Spark、Airflow、Tableau等),再到实践过程(需求调研、架构设计、技术选型落地、数据模型设计、测试迭代及用户培训),全面阐述了数仓建设的各个环节。强调了业务理解与技术结合的重要性,并指出数仓建设是一个持续优化、适应业务发展变化的过程。
|
5天前
|
定位技术 开发工具 iOS开发
ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
8 0
|
5天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在企业转型中的关键角色
【5月更文挑战第21天】 随着数字化转型的浪潮席卷全球,企业正面临前所未有的挑战与机遇。本文深入探讨了云原生架构如何成为推动企业敏捷性、可扩展性和创新能力的核心动力。通过分析云原生技术的基本原理及其在各行各业中的应用案例,揭示了该技术如何助力企业实现资源优化、加快产品上市时间以及提高服务质量。文章旨在为企业决策者和技术实践者提供洞见,以便更好地理解和应用云原生架构,从而在竞争激烈的市场中保持领先地位。
|
5天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【5月更文挑战第21天】 随着数字化转型的加速,企业对于敏捷性、可扩展性和成本效益的需求日益增长。云原生技术以其独特的优势应运而生,成为推动企业IT架构现代化的重要力量。本文将深入探讨云原生架构的核心概念、关键技术以及如何在企业中实施云原生解决方案,以实现真正的弹性、自动化和持续交付。
|
9天前
|
前端开发 Android开发
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
|
11天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第12天】 随着数字化转型的浪潮不断冲击传统IT架构,企业亟需灵活、高效且可扩展的技术解决方案以保持竞争力。云原生技术作为一种新兴的系统构建方式,以其独特的弹性、微服务和持续交付等特性,成为推动企业快速响应市场变化的关键因素。本文将深入探讨云原生架构的核心组件,分析其如何促进企业的敏捷性,以及在实施过程中可能遇到的挑战和解决策略,为企业采纳云原生技术提供参考。