摘要: 随着智能手机的普及,移动APP在公司的推广营销以及吸纳用户方面有着重要作用,故而开发APP的需求十分巨大。该文将基于LAMP架构,探讨构建一个简易iOSAPP的开发方法。
1 LAMP架构
1.1 Linux操作系统
优秀的开源操作系统,向全世界开放,由全世界优秀的程序员维护开发,完全免费,可自由使用,安全可靠且性能出色,Linux是理想的服务器端操作系统。
1.2 Apache HTTP服务器软件
世界上最流行的网页服务器之一,开源且对Linux完美支持,跨平台且稳定、通过插件拓展可支持PHP语言编写的动态网页。
1.3 MySQL数据库管理系统
非常适合小规模数据的处理,较低数量级增删改查的效率很高,开源免费适合个人和小规模团队进行开发。
1.4 PHP网页服务器脚本语言
开源易学,开发框架和说明文档充足,可编写动态网页,可非常方便地连接服务器端的MySQL数据库,对数据库进行操作。服务器上的PHP程序可便捷地获取数据库数据并生成JSON格式的数据返回给前端,适合作为前端向后端获取数据的API。
2 配置开发所需要的软件
2.1 Xcode
优秀的集成开发工具,可使用C、C++、Objective-C及Swift语言进行软件开发,是编写iOS APP的不二选择。Xcode可从App Store免费方便地下载。
利用全国网民对淮海经济区5A级景区网络关注度的旅游偏好指数,借助ArcGIS 10.2.2软件,以景区为中心,以几何间隔为分类方法,绘制旅游偏好指数等值线图(图6),分析淮海经济区5A级景区网络关注度的空间分布特征.可以发现,等值线最密集的是位于山东泰安市的泰山景区,旅游偏好最强,且与沂蒙山旅游区、曲阜明故城旅游区距离较近,形成了一个较大的关注度中心;其次是山东枣庄的台儿庄古城景区,与云龙湖景区和连云港花果山景区形成了一个较小的关注度中心.
2.2 MAMP
是Mac上非常经典、一键集成配置本地服务器的优秀软件。MAMP个人版是免费的,便于程序员现在本地配置网页服务器和MySQL数据库环境。程序员可先在本地进行测试代码无误后再通过SSH和SFTP等服务向远程服务器配置。
2.3 Navicat for MySQL
是一款为MySQL量身打造的前端控制软件,可通过可视化的点按操作以及SQL语句操作本地服务器或远程服务器上的数据库。
2.4 Visual Studio Code
微软良心制作的编辑开发工具,支持多种语言的高亮显示和智能提示,可方便的开发PHP程序。
3 主要开发流程
3.1 配置本地Apache、MySQL、PHP环境
考虑零售商、分销商和供应商组成三级供应链,供应链企业共同拟定一组数量弹性契约.设供应链运营对象皆为短周期电子产品,突发事件暴发导致市场需求急剧变化,价格随机波动.零售商仅能通过分析以往经验数据和观察现行市场行为,预测市场需求,进一步拟定初始订货量.供、分、销三者间相互不隐瞒各自的各种相关信息,且供应链成员均为风险中性,不存在风险厌恶.
运行MAMP个人版,Start Servers即可一键配置所需环境。
除了常规治疗外,增加了还原型谷胱甘肽治疗的观察组患者临床中疗效比对照组突出,在此次研究中,经过治疗后,观察组患者的临床治疗有效率是97.1%,对照组的临床治疗有效率是71.3%。两组的ALT、AST、TBiL、GGT等指标均降低,和治疗前对比,结果存在统计学差异性(P<0.05),观察组患者的降低幅度比对照组大,效果更加明显。两组的HA、PCIII、IV-C均降低,观察组更加突出。患者的肝纤维化指标均有所降低,说明了治疗效果比较理想。观察组患者的降低幅度比对照组高出许多,说明使用了还原型谷胱甘肽后的疗效显著的提升。
3.2 数据库设计与开发
少数民族基础数学多以双语进行授课,因而少数民族基础数学教师的双语能力成为影响数学教育的关键因素。大部分的少数民族数学教材都是用汉语编排的,公式、定理等都没有翻译成标准的少数民族语言,这为数学的讲授带来了困难。双语数学教师面对的是一群以少数民族语言为母语的学生[6]。教师对汉语掌握不精,就很难流利的讲清楚一些数学概念,对少数民族语言不了解,就不能把握学生的语言能力水平,就会影响课堂教学。数学素养也是影响数学教育的另一个关键因素,它是指用数学观点、数学方法和数学思维分析和解决问题的能力。教师的数学素养高低影响学生的数学素养高低,尤其是少数民族基础数学教师,对数学的态度会传染给学生。
此阶段需要根据开发项目进行需求分析,然后从需求中抽象出所需实体以及关系构建E-R图,然后根据E-R图设计数据库中实际存储的一系列表格和关系,最后根据数据库三大范式验证设计结果有无错误和冗余,修改无误后使用Navicat for MySQL在本地服务器中的MySQL数据库创建相关表格和关系。
3.3 iOS APP前端开发
此阶段需要在Xcode中创建工程实现基础UI和主要业务逻辑。在Xcode工程中,使用storyboard拖拽UI控件和View⁃Controller,再使用AutoLayout给控件添加约束达到页面控件的合理布局或实现某些动画。之后,根据storyboard中的每个ViewController,创建一系列继承于UIViewController使用Swift语言的Cocoa Touch Class,然后将创建的Class与storyboard中的ViewController的Custom Class的Class相对应。之后点击Xcode中的Show the Assistant editor同时显示storyboard中的ViewController与对应的Cocoa Touch Class,通过按住control键鼠标左键单击拖拽storyboard中的UI控件到Class文件中可创建UI控件变量或触发事件函数。最后,使用Swift语言结合iOS APP的生命周期实现每个页面的业务逻辑。
听到这里的时候,我看着一桌子的菜,再也吃不下去,眼泪叭嗒叭嗒地掉到了饭碗里。我真想把桌上的猪血丸子、粉蒸排骨统统让给小时候的爸爸吃,想吃多少就吃多少,那他就不会坚持要吃红薯藤做的团子,更不会被爷爷提着往水里浸了。
3.4 编写数据库接口
APP前端需要从后端的数据库获取数据,但因为安全等原因,Swift语言只能直接操作SQLite这种小型本地数据库,无法直接连接服务器上的数据库,操作远程数据。故而需要利用PHP语言编写数据库接口,后端把MySQL数据库中的数据以JSON格式返回给APP。
下面给出一个简易实例。
3.5 配置远程服务器及软件测试
通过Mac上的Terminal(终端),新建远程连接,如安全Shell (ssh)服务即可把PHP程序配置到远程Linux服务器端,用Navi⁃cat for MySQL将本地服务器中的SQL文件导出,再导入到服务器上的MySQL数据库,改写APP和PHP接口中的网络请求地址,测试运行。
4 不足与改进
本文所述是一种基于LAMP的简易iOS APP开发方法,从实现手段不够安全,数据没有安全加密,对于正式项目应该使用用户token和安全加密算法。对于小型项目也可不必租用远程服务器,通过学习LeanCloud、Bomb后端云等云服务公司提供的开发文档可利用云服务器进行替代远程服务器,简化了一系列的后端操作。不过,使用云服务器也会造成对于云服务平台的依赖,一旦平台发生问题,会带来数据泄露和大规模数据迁移等问题。
5 结束语
随着科技的发展开发APP肯定会越来越简单,不过其核心思路万变不离其宗,每种方式都不是绝对的优秀,一种方式的优点有时候却在另一种方式中被视为缺点。米维信息认为开发者应在开发中根据实际情况,具体情况具体分析,权衡利弊得出最好的开发方案。