WEBAPP开发教程APP 基本框架设计
凌雪 2018-11-08 来源 :网络 阅读 1494 评论 0

摘要:本文将带你了解WEBAPP开发教程APP 基本框架设计,希望本文对大家学WEBAPP有所帮助。

本文将带你了解WEBAPP开发教程APP 基本框架设计,希望本文对大家学WEBAPP有所帮助。


APP   基本框架设计
    前言
            一个良好的APP   基本遵循“简单”,“易用”,“高效”,“便维护”,“可扩展”基本也是从这几个原则出发,比较符合用户体验;同时也是比较符合我们开发人员设计程序的初衷,尽量低的耦合性和尽量高的可复用性,而一个设计良好的应用程序;必然需要有个比较规范和通用的设计框架,因此APP框架设计就变得尤为重要了.
    APP框架设计包括哪些内容
    APP框架搭建的设计;主要的核心思想还是分层思想,通常设计下,会包括以下内容:(如下图)
   
    APP框架搭建需要考虑的因数
      目前现在比较流行混合开发模式,而上图框架的设计内容是基于原生基础上设计,原生开发固然体验比较好,但是开发周期相对于网页通常比较长,对于混合开发模式;我们要考虑以下几个方面:
    1一般情况下;从用户体验的角度出发;为了提高用户体验;一般本地的一级页面,以及改动量比较小的页面,需要做成原生的。
    2 基于公司实际情况出发,经常变动版本;改动比较大的或者详情页面我们可以做成网页形式,便于我们版本迭代更新
    3复杂的软件必须有清晰合理的架构,否则无法后期扩展和维护;通常情况下;我们会结合业界比较成熟的一些设计模式;
    1 MVC 是最常见的软件架构之一,业界有着广泛应用,也是早期我们APP 设计时最常见的一种架构模式.
   
   
    §
    视图(View):用户界面。
    §
    控制器(Controller):业务逻辑
    §
    模型(Model):数据保存
     
    MVC模式的意思是,软件可以分成三个部分。它们的通信方式
    1.View传送指令到 Controller
    2.Controller完成业务逻辑后,要求 Model改变状态
    3.Model将新的数据发送到 View,用户得到反馈.
    所有的通信都是单向的。
    2 MVP 模式作为一种新型模式,是从经典的模式MVC演变而来,它们的基本思想有相通的地方,将 Controller 改名为Presenter,同时改变了通信方向。
   
   
    1. 各个部分之间的通信,都是双向的。
    2. View 与 Model 不发生联系,都通过 Presenter传递。
    3. View 非常薄,不部署任何业务逻辑,称为"被动视图",即没有任何主动性,而   Presenter非常厚,所有逻辑都部署在那里。
    4模型与视图完全分离,我们可以修改视图而不影响模型;
    5可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部;
      6我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁;
    7如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试)
    3 MVVM (数据绑定) 最早是微软提出的;模式将 Presenter 改名为ViewModel,基本上与 MVP 模式完全一致。
   
   
    简单的说,ViewModel就是View与Model的连接器,View与Model通过ViewModel实现双向绑定。
    唯一的区别是,它采用双向绑定:View的变动,自动反映在 ViewModel,反之亦然.
    谷歌推出了Data binding这个框架,Data Binding是一个
     support包,因此与 Android   M没什么关系,可以轻松的实现MVVM,Data
 binding解决了 Android UI   编程中的一个痛点,
    官方原生支持 MVVM 模型可以让我们在不改变既有代码框架的前提下,非常容易地使用这些新特性。
    其实在此之前,已经有些第三方的框架(RoboAndroid)
    可以支持 MVVM 模型,无耐由于框架的侵入性太强,导致一直没有流行起来。
     
    Data Binding 的基本用法
    一 环境  
    要求你的Android Studio版本是1.3+ 
    在开始之前,请更新你的Support repository到最新的版本
    要使用DataBinding,android的构建插件gradle要求1.5.0-alpha1或者更高的版本。
    二 添加依赖
   
   
    三Data Binding 入门级Demo 例子
    1 我们首先定义一个java bean  user 类
   
    2 我们再来写一个布局文件;如下图
   
    3最后来看看Activity怎么写。
   
   
    没有了之前的find控件,没有了setText,Activity代码更加简洁明了
    运行结果
   
   
    结合项目用的比较多的设计架构一般分为2种:
   
    A 单Activity+多Fragment的架构.
    B 多模块Activity+多Fragment的架构.
   
    是使用单Activity+多Fragment的架构,还是多模块Activity+多Fragment的架构?
    单Activity+多Fragment:
    一个app仅有一个Activity,界面皆是Frament,Activity作为app容器使用。
    优点:性能高,速度最快。参考:新版知乎 、google系app
    缺点:逻辑比较复杂,尤其当Fragment之间联动较多或者嵌套较深时,比较复杂。
    多模块Activity+多Fragment:
    一个模块用一个Activity,比如
    1、登录注册流程:
    LoginActivity + 登录Fragment+ 注册Fragment + 填写信息Fragment + 忘记密码Fragment
    2、或者常见的数据展示流程:
    DataActivity + 数据列表Fragment+ 数据详情Fragment + ...
    优点:速度快,相比较单Activity+多Fragment,更易维护。
    总结
   
    权衡利弊,我认为多模块Activity+多Fragment是最合适的架构,开发起来不是很复杂,app的性能又很高效。
      当然。Fragment只是官方提供的灵活组件,请优先遵从你的项目设计!真的特别复杂的界面,或者单个Activity就可以完成一个流程的界面,使用Activity可能是更好的方案。
   
    Android 的 Data Binding 框架还在 beta 阶段,Android Studio 对其内部支持也不是很完整,
    进步的空间还很大。不过它被设计和开发的很好,将会改变 Android 应用开发方式(如果顺利的话)。
    1 我个人比较倾向于采用了MVP+ Data Binding的混合模式.也就是比较流行热火的MVPVM模式。
    2如果有程序框架,因为项目的几乎是一致的,所以上一个项目的项目计划可以直接拿过来使用,而且经过几个项目之后,这个项目计划的模板会越来越细,越来越实用。
      因为结构一致,代码混乱性会降低到可以接受的程度,而且可以重用上一个项目的大部分代码。而且逻辑清晰,使得代码相对较小,不容易在代码中迷失。因为代码逻辑简单有序,所以测试起来会很容易。
    3 最后我们不能永远理想化地去选择所谓最好的设计,具体问题还得具体分析;在现实的必要情况下,我们要敢于舍弃,最合适的设计才是最好的设计.    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved