一个法国iPhone客户端的开发(前言)

前言

这将是一个系列的博文,这个系列将介绍一个iPhone软件项目中遇到的各种坑以及我们的解决方案,其中包括:架构设计UI组件设计storyboard使用autolayout使用coredata使用蓝牙解决方案 等。

项目背景

这是一个以客户设计为导向的软件。客户设计?这是我自己杜撰出来的一个词,如有雷同纯属巧合。

与以往的客户需求导向不同,已经不是单一的从客户那进行需求调研然后我们给出解决方案,做出原型然后确认需求,最后开发。
客户不仅仅有自己的需求,而且已经把UI、互交、软件层级都已经给出。

看到这里可能大家一定想的是:都设计完了那还不好?直接开发就OK了啊,真是帮你们省事啊~
在之前我也是这么想的,可是拿到设计稿之后心中顿时出现几个字:尼玛!

简单介绍一下项目背景。这是一个配合硬件来使用的软件,其中目前设想和规划支持的硬件大致有 16 种。可以分为3大类分别是:健康、安全、家庭。暂时支持的硬件有:Thermometer(体温计)、Activity Tracker(运动手环)、Pet Tracker(宠物追踪器)。

客户的想法

客户想做这样的一个软件:

该软件在最外层有一个类似于Android众的Launcher的功能,能够在这个Launcher中统一管理各个子软件以及作为各子软件的入口。

大家要注意的是这个软件到最后需要支持的子软件有16种之多。我们曾经建议他们将这些子软件都独立成一个App,仅仅将Launcher作为入口和身份验证,不要将子软件完全在Lancher中实现,否则这个Launcher将是一个非常庞大的App,不仅生成的安装文件会非常的大,而且越到后面维护成本也会成指数增加。

但是~甲方如果能够听乙方的意见的话,那这个世界上就没有难做的项目。最后也只有我们来妥协。

所以我们需要比较好一点的底层架构来支持我们这个软件,以至于到后期扩展应用与维护的时候不会那么困难,对于巨大的安装文件我们是没有办法了。

UI、互交与层级

部分UI如下图,关于美观的问题这里就不做评价,各人审美不同(据客户说是一个20多人的设计团队设计出来的#-_-)。


img
img

img
img

img
img

img
img
img
img
img
img

由截图可以看出整个App的一个UI架构可以分为三块SideBarTabbarMainView
这种UI架构是没有什么问题的很主流,但是各位看官请注意侧边栏内容,再看看底部导航栏,是不是有几项是相似的?没错了这几个相似的功能就是一样的功能点击后的效果是一致的!
客户对侧边栏的定义是快捷方式

img
img

做过App的尤其是iPhone App的应该都知道,在开发之前都会设计一条优质的路径去引导用户如何来使用(也就是UINavigation)。这次完全打破了传统,要用Native App开发出Web App的特性,任意跳转。
这只是整个项目中的一个坑,在后续的介绍中我们会一一指出,并提供我们的解决方案。

好废话说了一大堆,现在是时候来干货了,现在进入我们的第一篇:

一个法国iPhone客户端开发之软件底层架构设计

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,020评论 25 708
  • 先说项目开发过程中团队人员的分工协作。 一 人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时...
    SnowflakeCloud阅读 10,818评论 3 59
  • - (BOOL)application:(UIApplication *)application didFinis...
    超级疯小肛阅读 249评论 0 0
  • 和孩子们谈起茅针,他们一脸诧异,不知道何为茅针。而对我们这一辈的人来说,茅针是我们乡下孩子的美味。春天茅草...
    21春雨无声阅读 770评论 3 3
  • 数目—————名称—————————(类别) 一:(25分钟番茄钟)一个番茄钟后休息5分钟,4个番茄钟后休息25分...
    千夜A阅读 247评论 0 0