学习蓝本如下
(在此以示感谢!)
http://keeganlee.me/post/practice/20160807
由于我之前整体学习完了《第一行代码——Android》,因此安卓应用的开发功底是有的,虽有部分实战,但难度过
0小,且该书仅仅是代码基础方面的开发技巧的普及。因此,我仿照这篇博文,系统地学习Android手机应用开发的一系列技术业务。
该系列博文分为五篇,分别是概述、API、原型、UI、服务端、数据库六部分。
概述
我们先从概述开始,系统学习。
该项目分为两个主要内容问答和分享。
其中,原型设计采用墨刀,UI设计使用这里写链接内容,API采用RESTFul架构,服务端开发用Spring Boot,数据库选用MySQL,服务器AWS和阿里云之间待定。
API
首先是API的十几个端点定义,其次是资源的四个操作方法,这里不列出。最后加上版本控制,采用镶嵌在URL中的模式。另外,相应统一采用code,message,data的JSON数据格式。
关于API的安全设计,采用HTTPS;用户鉴权采用Token方式,用户登录后分一个accessToken和refreshToken,前者用于发送用户请求,后者用于更新前者,前者有效期为24h或用户退出之前。过期两者都作废,登陆后重新分配。应用鉴权为在APP层级分配AppKey和AppSecret,用传输的校验。URI签名算法不展开,在参数中添加nonce值增强签名的不可预测性。
原型
原型设计,整体上为产品的信息架构、功能结构、导航结构,局部上主要是页面布局和交互,如内容编排、页面切换、按钮点击等。原型设计工具采用墨刀。
UI
UI设计采用Sketch,但是我用的是Windows,可使用Axure或者Material Design。
服务端
技术选型,若为Java, 泽轩IDEA,Web框架选择Spring,构建工具选择Gradle,应用服务器选择Tomcat。代码实现省略。
数据库
设计数据库实体关系图ER图,简历表格,存放相关内容。
关注关系,查询发布内容。
最后
具体就这些,今天是初步概览了App开发的大部分过程,之后会进行更为详细的APP开发。