开发一个APP的构想

更好的参考链接

准备开发一个APP前的思考:

  • 架构:
    1、MVC:架构过时;
    2、MVVM:新架构,可以采用;
  • 封装
    1、网络请求一般使用第三方库AFNetworking,对AF的在封装;
    2、自定义的tabBar;
    3、常用控件或系统类的类别:如:
    (1)UIButton:图片和title的四种位置布局封装;
    (2)UILabble、UITextFiled、UIView、UIImageview等的初始化方式;
    (3)NSString:在登录模块常用的:电话号码、邮箱、URL的正则判断,日期转换等;
    (4)Appdelegate:比如极光推送,需要在appdelegate中添加很多代码,我们就可以把极光推送相关的代码,单独出来创建一个Category;同理程序初始化的rootVC等操作也可以单独出来操纵。
  • 常用第三方库:
    1、网络请求:AFNetworking;
    2、约束:Masonry;
    3、键盘:IQKeyboardManager;
    4、数据模型:JSONModel;
    5、网络图片加载:SDWebImage;
    6、刷新加载:MJRefresh;
    7、相机:TZImagePickerController;
    。。。。。。
  • 宏定义:
    1、预编译头文件:pch,注意设置相对路径,否则在其他人的电脑上会变异错误;
    2、全局常量System.h文件;
    3、接口头文件;
  • 沙盒路径:注意判断文件是否存在时,要保持文件的相对路径,在拼接文件名
    1、沙盒路径的获取封装;
  • 数据持久化:
    1、plist文件:全国城市列表;
    2、NSUserDefault单例类:只能保存对象类型,即NS开头的系统类;
    3、归档 NSKeyedArchiver:可以通过NSUserDefault+ NSKeyedArchiver来持久化自定义的对象类型;
    4、sqlite3:通常会使用FMDB对sqlite的在封装;
    5、coreData:没使用过;
  • 控制器的父类:通过在基类中,可以统一设置页面背景颜色等信息。
  • APP实现方式:
    1、纯代码:
    2、xib和SB
    3、纯代码 + xib和SB:其实登录和我的两个模块,可以使用xib和SB可以减少很多代码量,而且这两个模块变动不大,如:个人中心的一下个人信息可以用一个静态的tableview就解决了;

开发中:

  • UI方面,一般提供2x和3x,原型图可以用磨刀查看
  • 接口调试方面:可用Postman
  • 版本控制:git + sourceTree

发布:

  • 苹果开发者账号:生成发布证书,配置app ID,生成发布描述文件PP文件,AppStore信息填写;

你可能感兴趣的:(开发一个APP的构想)