基于iOS的分享导购移动应用分析与开发

2013-04-29 00:22罗潇
无线互联科技 2013年9期

罗潇

摘 要:论文阐述了一个基于苹果ios导购分享应用程序。此移动程序为广大年轻爱好购物女性提供了一个极其便利的购物方式—可随时随地购物、评论和分享心得。开发项目时以苹果MacBookPro为硬件平台,xcode为软件开发工具进行相关编码设计和测试。程序架构以mvc模式为主要的设计模式[1],并采用消息设计模式、委托设计模式、工厂设计模式为辅助进行开发和测试[2],最后在iphone和ipod touch硬件环境下进行测试。

此应用程序分为五个模块:逛街、实拍、团购、我的、衣柜。其中逛街模块为所有商品垂直分类,为用户提供了最直接的商品分类。程序采用了最直观的图片为用户展示了各种商品,用户可以查看喜欢的商品,也可以对商品评论。总的来说,此产品不仅为用户提供了随时随地享受购物乐趣和交流分享讯息,还可以为商家提供销售渠道获得盈利。

关键词:iOS;电子移动导购;移动购物

1 项目功能与环境

1.1 项目在ios应用程序的开发环境

1.1.1 xcode的环境配置

在Xcode中的所有活动中,从文件的创建和编辑,到应用程序的连编和调试,都是围绕着工程来进行的,工程是必要条件。

1.2 需求分析

1.2.1 需求背景

⑴用户:一群年轻喜欢时尚,喜购物的女性。

⑵商家:各种商家混合,当用户或者公司。

⑶导购平台网:信息捕捉快,对市场有敏锐嗅觉,以及对市场把握比较到位。

⑷产品核心价值:通过运营的跨商家组织,及时提交到服务数据,更新最新数据来满足用户需求,为商家提供了多渠道销售。

1.2.2 项目所具备功能

能分类查看各种商品信息,能够查看商品详细信息,能够有个分类搜索,按照用户所需条件进行相关搜索,能够查看商品大图,保存图片,分享信息,能够在线购物,下订单,能够通过第三方腾讯用户,进行登入,能够进行商品评论。

1.3 功能模块分析与具体功能分析

根据上述需求分析,项目主要功能模块包括:逛街、实拍、团购、衣柜、个人中心、模块等。

逛街模块:垂直分类所有商品,有广告栏,热门推荐栏,衣服、鞋子、包包、配饰、家居、美妆分类栏目,进入子栏目可查看商品详情,可以评论商品,在线下单购物。

实拍模块:有搭配、与晒货双栏目。提供用户两种图墙阅览模式,还可以根据条件筛选起商品。

团购模块:淘宝团,拍拍团,自由团,提供用户淘宝,拍拍团购信息,还可以用户自发反向团购申请。

个人中心模块:用户登入与个人信息,查看所收藏的商品,喜欢的商品。

衣柜模块:元素、衣服、鞋子、包包、配饰、家居、美妆等具体细节模块。

2 项目技术要点

2.1 采用MVC设计模式

MVC是数据模型(Model),视图(View)和控制器(Controller)的缩写,其目的实现Web系统的职能分工。具体概要,其中Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现[3];View层用于与用户的交互,通常用JSP来实现;Controller层是Model与View之间沟通的桥梁,控制器,它可以分派用户的请求并选择恰当的视图以用于显示在用户屏幕上,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

2.2 数据处理

对象通信方式:主要采用采用代理、消息机制,或者直接传递。

移动端与服务器的数据交互方式:采用get与post两种请求结合,结合开源框架ASIHttpRequest加快开发速度。

数据解析方式:具项目具体条件是开发,主要是节点解析成字典或者数组。然后分别填充数据在UI界面上。

3 项目详细设计与具体实现

3.1 软件与硬件环境搭建

⑴硬件环境:macPro一台,一台Iphone和一台Ipod Touch。

⑵软件环境:Mac OS X、xcode4.5.2、Instruments,ios模拟器、Interface Builder

3.2 具体功能实现与UI布局

整体框架搭建包括:

⑴整个项目DDMenuViewController(菜單控制器)管理所有控制器。

⑵导入以下开源框架,多用第三方开源框架辅助开发。

⑶整理接口和请求数据类型的基本信息表,方便自己用,注明每个属性的类型。

⑷建立一个BaseModel设置模型数据抽象类。

⑸然后根据需求与逻辑布局相应的模块。

3.3 评论模块制作

评论模块具体实现:生成一个视图控制器专门作为评论模块的界面与交互管理。用户要进行评论,就得分两种情况,对商品评论和对用户评论。

⑴对商品评论,参数需要带着该商品的id,再加上自身用户id,将参数拼接成链接,加上评论内容进行post请求,请求成功,则对商品评论生成。

⑵对用户评论,参数需要带着商品id,再加上自身用户id,还要加上目标用户id,将参数拼接成链接,加上评论进行post请求,请求成功,则对用户评论生成。当评论成功后,刷新获得数据,刷新UI界面,则该评论已经显示在屏幕上,这样评论模块功能基本实现。

3.4 项目模块中的技术难点

⑴网络请求封装,由于涉及到很多参数,和逻辑判断,什么时候用这个参数,什么时候用那个参数。还有就是block回调时候,得保证数据正确。

⑵评论模块,各个控制器操作不同,传输的参数值也不同,需要更多判断。得做很多纪录,当同时也要清除多处参数,不然会影响其他接口请求。

4 总结与展望

在实施项目开发前,对课题做了调查和分析,通过在网络统计数据和自己身生活总结,分析了项目前景和目前自身能力等条件下,最终定下课题任务。

接下来制定前期、中期和后期计划,项目所需要要哪些工作,制定成一张表,如:项目分析与定位,数据采集与整理,去了解相关技术,功能模块所具备的功能和怎么实现此功能,程序测试与bug调试。

在技术上,项目结合了多个开源框架,ASIHTTPrequest,SDWebImgae,Jsonkit等等,运用MVC设计模式,委托设计模式,消息设计模式等辅助开发。Model数据的封装以及代理,block,通知的使用,网络请求类的封装,网络请求与Json数据的处理,再模型数据的结合生成一个所需对象数据模型。考虑到户流量问题,在图片缓存上进行了深入的探讨和性能优化的研究。

最终实现了一个iOS移动设备客户端应用程序,当然在程序中还有些不足,我需要继续改正和跟进。如下三点:第一,由于图片数据量大,程序运行流畅感觉还可以继续提升,这里需要做更多的程序优化。第二,为了更多的用户获得更好的体验,还需要做更多的工作。第三,虽然目前基本大功能已经实现,也可以下单购物,但用户需求在不断提高,功能必须跟进。

[参考文献]

[1]Erica Sadum.iPhone开发秘籍(第二版)[M].北京:人民邮政出版社,2010.

[2]Christopher Allen Shannon Appelcline.iPhone开发实战[M].北京:人民邮政出版社,2010.

[3]杨正洪,苏伟基,等,著.iPhone4应用程序开发入门与实战[M].北京:清华大学出版社,2011.