精华内容
下载资源
问答
  • 做框架图的app
    千次阅读
    2020-09-27 06:24:55

    主流的跨端方案,一种是,将JavaScriptCore引擎当做虚拟机的方案,代表框架React Native;另一种是使用非JavaScriptCore虚拟机的方案,代表框架是Flutter。

    怎么选择跨端方案

    从编程语言角度

    • JavaScript的历史和流行程度都远超Dart,生态也更加完善,开发者也远多于Dart程序 员。所以,从编程语言的角度来看,虽然Dart语言入门简单,但从长远考虑,还是选择 React Native会更好一些。

    从页面框架角度

    • 同时,从页面框架和自动化工具的角度来看, React Native也要领先于 Flutter。这,主要 得益于web技术这么多年的积累,其工具链非常完善。前端开发者能够很轻松地掌握 React Native,并进行移动端App的开发

    从性能等角度

    • 相比于 React Native框架, Flutter的优势最主要体现在性能、开发效率和体验 这两大方面。
    • Flutter却不一样。它一开始就抛弃了历史包袱,使用全新的Dart语言编写,同时支持AOT 和JT两种编译方式,而没有采用HTML/csS/ JavaScript组合方式开发,在执行效率上 明显高于 JavaScriptCore。
    • 除了编程语言的虚拟机,Flutter的优势还体现在Ul框架的实现上。它重写了Ul框架,从Ul 控件到渲染,全部重新实现了,依赖Skia图形库和系统图形绘制相关的接口,保证了不同平台上能有相同的体验。

    选择

    • 一旦使用Flutter开发成为团队的必选项,那么其他技术栈就没有存在的价值了。
    • 我将跨平台方案分成了两种:一种是,将 JavaScriptcore引擎当作虚 拟机的方案,代表框架是 React Native;另一种是,使用非 JavaScriptcore虚拟机的方 案,代表框架是 Flutter。
    • 在我看来,从长远考虑的话,你可以选择Flutter作为跨平台开发方案。但是,最终 Flutter是否能成功,还要看谷歌新系统Fuchsia的成败。

    原生

    • 原生应用程序是指某一个移动平台(比如iOS或安卓)所特有的应用,使用相应平台支持的开发工具和语言,并直接调用系统提供的SDK API。比如Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序。

    主要优势:

    • 可访问平台全部功能(GPS、摄像头);
    • 速度快、性能高、可以实现复杂动画及绘制,整体用户体验好;

    主要缺点:

    • 平台特定,开发成本高;不同平台必须维护不同代码,人力成本随之变大;

    • 内容固定,动态化弱,大多数情况下,有新功能更新时只能发版;

    • 在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:

    • 动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。

    • 业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。

    • 总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。

    混合方案一:原生+H5

    1. Cordova
    2. Ionic
    3. 微信小程序
    • 这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(iOS)来加载(以后若无特殊说明,我们用WebView来统一指代android和iOS中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,H5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。
    • 目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。

    主要优点:

    • 混合应用的优点是动态内容是H5,web技术栈,社区及资源丰富。

    主要缺点:

    • 缺点是性能不好,对于复杂用户界面或动画,WebView不堪重任。

    • 这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(iOS)来加载(以后若无特殊说明,我们用WebView来统一指代android和iOS中的网页加载控件)。这样一来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,H5部分功能越多,开发成本就越小。我们称这种h5+原生的开发模式为混合开发 ,采用混合模式开发的APP我们称之为混合应用或Hybrid APP ,如果一个应用的大多数功能都是H5实现的话,我们称其为Web APP 。
    • 目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。

    混合方案二:原生+JavaScript

    1. React Native facebook出品
    2. Weex 阿里巴巴出品
    3. 快应用

    主要优点:

    • 采用Web开发技术栈,社区庞大、上手快、开发成本相对较低。
    • 原生渲染,性能相比H5提高很多。
    • 动态化较好,支持热更新。

    主要不足:

    • 渲染时需要JavaScript和原生之间通信,在有些场景如拖动可能会因为通信频繁导致卡顿。
    • JavaScript为脚本语言,执行时需要JIT(Just In Time),执行效率和AOT(Ahead Of Time)代码仍有差距。
    • 由于渲染依赖原生控件,不同平台的控件需要单独维护,并且当系统更新时,社区控件可能会滞后;除此之外,其控件系统也会受到原生UI系统限制,例如,在Android中,手势冲突消歧规则是固定的,这在使用不同人写的控件嵌套时,手势冲突问题将会变得非常棘手。

    React Native

    • React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和Android两个平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
    • 由于RN和React原理相通,并且Flutter也是受React启发,很多思想也都是相通的,万丈高楼平地起,我们有必要深入了解一下React原理。React是一个响应式的Web框架,我们先了解一下两个重要的概念:DOM树与响应式编程。
    • 上文已经提到React Native 是React 在原生移动应用平台的衍生产物,那两者主要的区别是什么呢?其实,主要的区别在于虚拟DOM映射的对象是什么?React中虚拟DOM最终会映射为浏览器DOM树,而RN中虚拟DOM会通过 JavaScriptCore 映射为原生控件树。
    • JavaScriptCore 是一个JavaScript解释器,它在React Native中主要有两个作用:
    • 为JavaScript提供运行环境。
    • 是JavaScript与原生应用之间通信的桥梁,作用和JsBridge一样,事实上,在iOS中,很多JsBridge的实现都是基于 JavaScriptCore 。
    • 而RN中将虚拟DOM映射为原生控件的过程中分两步:
    • 布局消息传递; 将虚拟DOM布局信息传递给原生;
    • 原生根据布局信息通过对应的原生控件渲染控件树;
    • 至此,React Native 便实现了跨平台。 相对于混合应用,由于React Native是原生控件渲染,所以性能会比混合应用中H5好很多,同时React Native是Web开发技术栈,也只需维护一份代码,同样是跨平台框架。

    Weex

    • Weex是阿里巴巴于2016年发布的跨平台移动端开发框架,思想及原理和React Native类似,最大的不同是语法层面,Weex支持Vue语法和Rax语法,Rax 的 DSL(Domain Specific Language) 语法是基于 React JSX 语法而创造。与 React 不同,在 Rax 中 JSX 是必选的,它不支持通过其它方式创建组件,所以学习 JSX 是使用 Rax 的必要基础。而React Native只支持JSX语法。

    快应用

    • 快应用是华为、小米、OPPO、魅族等国内9大主流手机厂商共同制定的轻量级应用标准,目标直指微信小程序。它也是采用JavaScript语言开发,原生控件渲染,与React Native和Weex相比主要有两点不同:
    • 快应用自身不支持Vue或React语法,其采用原生JavaScript开发,其开发框架和微信小程序很像,值得一提的是小程序目前已经可以使用Vue语法开发(mpvue),从原理上来讲,Vue的语法也可以移植到快应用上。
    • React Native和Weex的渲染/排版引擎是集成到框架中的,每一个APP都需要打包一份,安装包体积较大;而快应用渲染/排版引擎是集成到ROM中的,应用中无需打包,安装包体积小,正因如此,快应用才能在保证性能的同时做到快速分发。

    混合方案三:原生+自绘

    1. QT for mobile
    2. Flutter 谷歌出品
    • 在本篇中,我们看看最后一种跨平台技术:自绘UI+原生。这种技术的思路是,通过在不同平台实现一个统一接口的渲染引擎来绘制UI,而不依赖系统原生控件,所以可以做到不同平台UI的一致性。注意,自绘引擎解决的是UI的跨平台问题,如果涉及其它系统能力调用,依然要涉及原生开发。

    主要优点:

    • 性能高;由于自绘引擎是直接调用系统API来绘制UI,所以性能和原生控件接近。
    • 灵活、组件库易维护、UI外观保真度和一致性高;由于UI渲染不依赖原生控件,也就不需要根据不同平台的控件单独维护一套组件库,所以代码容易维护。由于组件库是同一套代码、同一个渲染引擎,所以在不同平台,组件显示外观可以做到高保真和高一致性;另外,由于不依赖原生控件,也就不会受原生布局系统的限制,这样布局系统会非常灵活。

    主要不足:

    • 动态性不足;为了保证UI绘制性能,自绘UI系统一般都会采用AOT模式编译其发布包,所以应用发布后,不能像Hybrid和RN那些使用JavaScript(JIT)作为开发语言的框架那样动态下发代码。
    • 也许你已经猜到Flutter就属于这一类跨平台技术,没错,Flutter正是实现一套自绘引擎,并拥有一套自己的UI布局系统。不过,自绘制引擎的思路并不是什么新概念,Flutter并不是第一个尝试这么做的,在它之前有一个典型的代表,即大名鼎鼎的QT。

    Flutter

    • “千呼万唤始出来”,铺垫这么久,现在终于等到本书的主角出场了!
    • Flutter是Google发布的一个用于创建跨平台、高性能移动应用的框架。Flutter和QT mobile一样,都没有使用原生控件,相反都实现了一个自绘引擎,使用自身的布局、绘制系统。那么,我们会担心,QT mobile面对的问题Flutter是否也一样,Flutter会不会步入QT mobile后尘,成为另一个烈士?要回到这个问题,我们先来看看Flutter诞生过程:
    • 2017 年 Google I/O 大会上,Google 首次推出了一款新的用于创建跨平台、高性能的移动应用框架——Flutter。
    • 2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。
    • 2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。
    • 观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,Flutter 生态系统得以快速增长,由此可见,Flutter在开发者中受到了热烈的欢迎,其未来发展值得期待!
    • 现在,我们来和QT mobile做一个对比:
    • 生态;从Github上来看,目前Flutter活跃用户正在高速增长。从Stackoverflow上提问来看,Flutter社区现在已经很庞大。Flutter的文档、资源也越来越丰富,开发过程中遇到的很多问题都可以在Stackoverflow或其github issue中找到答案。
    • 技术支持;现在Google正在大力推广Flutter,Flutter的作者中很多人都是来自Chromium团队,并且github上活跃度很高。另一个角度,从今年上半年Flutter频繁的版本发布也可以看出Google对Flutter的投入的资源不小,所以在官方技术支持这方面,大可不必担心。
    • 开发效率;Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,并且不会丢失状态。这真的很棒,相信我,如果你是一名原生开发者,体验了Flutter开发流后,很可能就不想重新回去做原生了,毕竟很少有人不吐槽原生开发的编译速度。
    • 基于以上三点,相信读者和笔者一样,Flutter未来如何,心中自有定论。到现在为止,我们已经对移动端开发技术有了一个全面的了解,接下来我们便要进入本书的主题,你准备好了吗!

    Qt

    • Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者构建图形用户界面所需的所有功能。但是,QT虽然在PC端获得了巨大成功,备受社区追捧,然而其在移动端却表现不佳,在近几年,虽然偶尔能听到QT的声音,但一直很弱,无论QT本身技术如何、设计思想如何,但事实上终究是败了,究其原因,笔者认为主要有四:
    • 第一:QT移动开发社区太小,学习资料不足,生态不好。
    • 第二:官方推广不利,支持不够。
    • 第三:移动端发力较晚,市场已被其它动态化框架占领(Hybrid和RN)。
    • 第四:在移动开发中,C++开发和Web开发栈相比有着先天的劣势,直接结果就是QT开发效率太低。
    • 基于此四点,尽管QT是移动端开发跨平台自绘引擎的先驱,但却成为了烈士。

    参考链接

    更多相关内容
  • APP 基本框架设计

    万次阅读 2016-12-14 13:52:17
    APP 基本框架设计 前言  一个良好的APP 基本遵循“简单”,“易用”,“高效”,“便维护”,“可扩展”基本也是从这几个原则出发,比较符合用户体验;同时也是比较符合我们开发人员设计程序的初衷,尽量低的耦合性...

    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没什么关系可以轻松的实现MVVMData 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控件,没有了setTextActivity代码更加简洁明了

    运行结果


    结合项目用的比较多的设计架构一般分为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 最后我们不能永远理想化地去选择所谓最好的设计,具体问题还得具体分析;在现实的必要情况下,我们要敢于舍弃,最合适的设计才是最好的设计.

    展开全文
  • Android App应用市场功能的框架图

    千次阅读 2018-03-14 11:12:07
    APP应用市场功能的框架图,约半年前的一个项目,个人独立设计并完成上线的功能,今天认真整理了 下重新把框架画出来,画的不是很正规. 因为交互需求是支持不断点击切换下载状态的效果,所以下载服务同步处理得比较...

                APP应用市场功能的框架图,约半年前的一个项目,个人独立设计并完成上线的功能,今天认真整理了

        下重新把框架画出来,画的不是很正规.

        


           因为交互需求是支持不断点击切换下载状态的效果,所以下载服务同步处理得比较严谨,并采用断点下载,

    这里就不上源码了,不喜勿喷,如有错误,请多多指教!!!


    展开全文
  • APP全流程框架总结

    千次阅读 2020-12-01 15:13:00
    App代码框架 TheMVP MVPArms MVPMosby MVVM MVPVM MVI 五。异步编程框架 Rxjava 六。事件总线 EventBus 七。联网框架 Retrofit+OkHttp oksocket 八。多进程 HermsEventBus 九。图片加载框架 Glide ...

    一。产品设计

    • 产品设计七层自检模型
    • 《用户心理学》
      • 冯·雷斯托夫效应(Von Restorff effect)(也称为隔离效应)预测当存在多个相似对象时,不同于其他对象的是最容易被记住的!核心功能按钮
      • 系列位置效应
      • 认知负荷
      • 席克定律(Hick’s Law)
      • 接近律
    • 方法
      • 一、利用“从众心理”来吸引用户
      • 二、利用“沉锚效应”来增强用户的意愿
      • 三、利用“棘轮效应”来让用户无法离开
      • 四、用确定性的结果来引导用户进行决策
      • 五、给用户制造出“囚徒困境”的场景
      • 六、利用“登门坎效应”或者“鸟笼效应”来持续引导用户
      • 七、构建“吊桥效应”的场景来促进用户对产品的信赖
      • 八、利用“证实偏见”来坚定用户的立场

    用户心理学

    二。UI设计

    • 2.1. 中央凹与边界视野——如何呈现信息以获取注意力

    • 2.2. 格式塔原理——如何处理不同界面元素的关系

      • 接近性原理:在位置上相互靠近的物体倾向于被感知为一组。
      • 相似性原理:看起来相似的物体倾向于被感知为一组。
      • 连续性原理:我们倾向于将线条和形状感知为连续的整体。
      • 封闭性原理:与连续性原理相关,我们倾向于将分散的元素感知为封闭的物体。
      • 主体/背景原理:我们倾向于将元素区分为主体和背景,其中主体占据了我们主要的注意力。
      • 共同命运原理:一起运动的物体倾向于被感知为一组或者彼此相关。
    • 2.3. 时间感知——如何让应用具有高响应度
      在这里插入图片描述

    • 2.4. 意识与无意识——别让用户思考

    • 2.5. 记忆的局限——如何降低工作记忆负担

    UI设计之交互设计背后超全面的心理学原理

    三。 协议

    • HTTP
    • MQTT
      在这里插入图片描述

    四。大前端

    • Weex
    • RN
    • Flutter :整合所有平台,前景好

    五。App代码框架

    • TheMVP :view可以复用,presenter可以cover
    • MVPArms
    • MVPMosby
    • MVVM
    • MVVM-Habbit
    • MVPVM
    • MVI

    六。异步编程框架

    • Rxjava (必须绑定activity,fragment生命周期)
      注意:发射域和作用域同一代码块,用该框架

    七。事件总线

    • EventBus(必须限制:接收溯源,发送约束,生命周期感知)
      注意:发射域和作用域不同代码块,用该框架

    八。联网框架

    • Retrofit+OkHttp
    • oksocket

    九。多进程

    • HermsEventBus

    十。图片加载框架

    • Glide
    • Piccaso
    • Frasco

    十一。存储

    • MMKV :kv存储
    • LruCache :内存
    • DiskLruCache :磁盘
    • SP :官方api,不推荐

    十二。自动化集成

    • jekens

    十三。代码评审

    • gerrit

    十四。自动化遍历

    • AppCrawler

    十五。自动化测试

    • Appium :谷歌
    • Macaca :阿里
    • AirTest : python,来源于网易

    十六。monkey

    • MobilePerf :可以坚持72小时

    十七。性能测试

    • MobilePerf :python,非侵入,来源 天猫精灵
    • Matrix:java,侵入,来源 腾讯
    • Doramon Kit:java,侵入,来源滴滴
    • PerfDog :图形化app,非侵入,来源于腾讯

    十八。全量升级

    • bugly:app OTA
    • 蒲公英:二维码

    十九。热修复

    • tinker :腾讯,dex差量包
    • robust :美团 ,热插拔,仅针对java
    • sophix :阿里,非开源,圈梁

    二十。安全

    • snapshot相关
    • 加壳
    • 混淆

    二十一。算法

    • HashMap
    • 消息摘要算法
    • 对称算法
    • 非对称算法

    二十二。定时

    • RxJava (推荐1:可以绑定生命周期,防止内存泄漏)
    • Timer、TimerTask(推荐2:考虑生命周期内存泄漏)
    • AlarmManger+BroadcastReceiver定时发送广播 (推荐3)

    二十三。 大图检测

    引用
    android定时策略

    展开全文
  • 产品经理-APP框架思维导图

    千次阅读 2019-04-29 12:25:35
  • Python可以开发APP吗?用哪个框架

    千次阅读 2021-01-28 15:27:49
    在很多人的印象中,Python是一门...Python是可以开发APP的,比如说我们可以使用Kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写的,对于多点触控有着非常良好的支持,不...
  • 产品能力框架图

    2014-08-21 11:35:03
    产品能力框架图,描述一个产品经理所需的各种能力及职业发展方向。
  • 企业APP开发参考线路,常用框架,服务,平台等等
  • 摘要:上篇文章讲了如何用...但是使用第三方平台APP是需要收费的,如果想免费做APP,我们也可以使用android studio来,本篇文章就讲一下如何作出自己的APP框架,文章最后提供作者调试好的源代码供大家下载学习。
  • HyBrid App框架介绍

    万次阅读 2016-10-04 12:50:44
    第一次接触Hybrid App,因为老师要开发一个东西。当初天真,百度了下,第一个出来的就是Wex5……就和之前那啥一样……
  • 2021 最新 15 个 App 跨平台开发框架

    千次阅读 2021-07-01 11:43:29
    Flutter Ionic React native ...作为用户来说,当然希望使用 App 的时候能够顺畅流利,不可否认的是,使用 iOS 和 Android 开发出来的应用非常流畅而且高效,但是缺点就是需要耗费较长的时间来开发,比如.
  • react应用结构框架图

    千次阅读 2022-04-16 20:19:46
    1、框架结构 Router路由:web app内的应用路由 Containers:容器组件 Components:展示组件 actions:redux的动作创建者 reducers:redux的状态分发 services:调用后台服务层 axios:基础组件
  • APP 自动化框架设计思路分享

    千次阅读 2016-01-03 21:43:19
    APP自动化框架设计分享欢迎一起交流,一起进步 可以关注我的微信公众号:扫描二维码关注哦:点我关注框架需要解决的问题:• 渠道包->多渠道包核心用例自动化• 多设备覆盖安装,安装卸载更新等测试• 多设备核心...
  • uni-app 框架超详细新手入门

    千次阅读 2021-06-28 21:10:23
    uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。 开发者通过编写 Vue.js 代码,uni-app 将其编译到iOS、Android、微信小程序等多个平台,保证其正确运行并达到优秀体验。 uni-app 继承自 Vue.js,提供了完整...
  • h5做APP TV(电视端APP vue框架)

    万次阅读 2019-06-12 14:43:41
    要注意一点,数据渲染,不能用vue-resource,打包成APP将请求不到数据,请用axios,如何把vue项目打包成APP,将在 https://blog.csdn.net/weixin_44088739/article/details/91532480 文章里面具体描述
  • uni-app框架简介

    千次阅读 2022-03-09 13:18:04
    uni-app框架简介
  • ant app.rplib

    2019-07-02 18:42:47
    蚂蚁金服Ant Design app高保真UI框架原型,用Ant UI框架的公司可以使用这套原型,一比一实现AntAPP的UI框架
  • “科师有约” 校园APP 的定位是 “校园信息聚合平台” ,那就要最大程度上利用学校现有的线上资源,比如学校官网、线上图书馆、微信公众号、微博等信息,并且聚合到我们的APP中,方便学生用户去使用。 本文主要讲解...
  • 根据一些老博客里面的内容,现在整理一下目前流行的跨平台移动App开发技术的特点,并将几个不同的开发平台框架进行比较说明,仅供大家参考。 每个开发框架几乎都包含以下特性: 使用 HTML5 + CSS + JavaScrip
  • uni-app 框架的使用

    千次阅读 2022-02-12 23:48:17
    简介 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,...HBuilderX是通用的前端开发工具,但为uni-app做了特别强化。能直接创建uni-app项目。 专为vue打造,提供比其他工具更优秀的vue支持,
  • 十款移动APP开发框架

    千次阅读 2019-11-16 21:42:55
    十款移动APP开发框架: 1.jquery mobile框架 2.bootstrap框架 3.ionic框架 4.Mobile Angular UI框架 5.Intel XDK框架 6.Appcelerator Titanium框架 7.Sencha Touch框架 8.Kendo UI框架 9.PhoneGap框架 10.mui框架 ...
  • uni-app是一个使用Vue.js开发跨平台个人文库应用的前端框架,开发者编写一套代码,可编译到的iOS,安卓,H5,小程序等多个 平台。 官网:uni-app 二、vue-cli3+cordova (app混合开发) 网址:...
  • uni-app实战社区交友类app开发

    千人学习 2020-03-06 14:43:32
    适用人群 具备Html+Css+Javascript基础知识。 课程概述 本季度为uni-app实战项目第一季度,将实战开发社区交友类app,其中会包括发布到安卓端app,iOS端app、微信小程序和支付宝小程序。 课程大纲见以下
  • 推荐个国产框架,从此轻松开发 小程序/App/h5

    千次阅读 多人点赞 2022-04-04 11:36:29
    今天介绍UNI-APP是一个基于Vue.JS的跨端移动框架。 现在在国内,有很多移动平台,比如微信、支付宝、百度、字节跳动等,都提供了小程序的开发/开通功能。这些都是基于移动平台,平台本身也提供了小程序开发功能和...
  • 打造急速开发框架FastApp

    千次阅读 2016-10-13 20:29:57
    在前面的文章中,我们介绍了开发过程容易出现的一些问题,今天我们就在此基础上打造自己急速开发框架(FastApp)。该框架旨在向你展示一个轻量级的应用的总体结构以及如何构建多Fragment应用,为了使他对所有的开发者...
  • Android App 架构

    千次阅读 2016-10-27 23:16:57
    App 架构 结构清晰
  • Android开发电商app的基本框架

    千次阅读 2022-01-03 12:04:37
    效果 资源文件
  • Uni-App内引入Vant框架

    万次阅读 热门讨论 2021-10-24 09:36:17
    最近写一个项目用的是Vue框架,因为后期还要使用推送功能就决定利用Uni-App来进行开发,因为听说Uni-App的多适应功能强,一次开发可以在多个平台运行。 1.Uni-App优点 一套代码编到11个平台,这不是梦想。眼见为实...
  • APP框架梳理

    千次阅读 2019-09-01 19:49:28
    最近处于一个瓶颈期,公司的代码已经得心应手,但是由于业务原因,网络加载和最新的开源库用的较少,感觉少点什么,就想沉下心来整理一个通用的网络加载框架,流行的技术重新刷一遍,本文就记录下关键节点。...
  • 微信小程序开发入门——uni-app框架

    千次阅读 2021-05-11 20:47:20
    {{title}}

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 325,290
精华内容 130,116
热门标签
关键字:

做框架图的app