Hybrid设计--H5和Native,收口
Native提供容器,不要涉及太多的业务,否则就失去了通用性。
H5和Native的差异是短时间内解决不了的,React Native 超越Hydrid跨平台解决方案。

前端和 Native约定了一个规范,Native会根据规范生成你要的页面,这时布局会有一个限制,栅格化限制,由于css完整体系,总可以完成布局。看到的页面都是Native的,点击按钮的时候回调是javascript写的,这样一来的体验和Native的体验相差无几。React Native 的一般型业务的APP的,体验和Native的体验无从分辨。
weex走的是React Native的路线,由于推动方是前端,对前端更友好。
开发时,可以在浏览器中调试,再内嵌到Native中。如果直接在前端容器里调试,就是开发过程中就依赖app了,这样开发效率会打很大的折扣。像微信的小程序等,有自己的一套IDE,直接从工程层面上绕过了这一圈。如,微信公众号,直接提供了一套开发和工具。
开发团队有一套自己的东西,会极大的提升开发效率。
思维拓展:
条条大路通罗马----设计的时候让罗马只有一个入口,只有一个出口。不管路从哪里来,可以在统一的地方打一个标识。不同的出入口要有相同的规则,否则就会出问题。例如:高速路收费站,入口的时候做标识,出口的时候做标识。如此,流量的统计就会实现。收口的工作会让效率变低,但是会更有利于管理。做收口会有一些好处,坏处是面向用户会增加一些成本。生活中的收口的例子有很多,这个思想可以运用在前端甚至整个开发中。前端中的例子:ajax收口。

在业务架构层做个约定:如果在请求url时带了参数,就把参数放在commonData中。在进行ajax请求时一定会把commonData带上。创建订单时会将commonData带上,将flag的数据存在数据库。

整个这些有2个用处:1、例如这个app要去线下推广,会给很多人生成一个二维码,url => domain.com ,如果用户扫了这个二维码就会访问这个url,如果是通过这个url注册了,就会带一个flag参数。这样就知道这个人引导了多少个用户注册了账号。这样每个业务员的KPI一下就做完了。2、现在创业团队拿分红,我们有订单数据,投资人那边会质疑你的数据的真实性。订单数据中会有通用标识的数据,如:Native的app的设备号,获取的ip号。如此,数据齐全了,投资人是不会怀疑数据的真实性的。

以上是请求参数上做的处理。
ajax会返回数据,可能是城市数据,一般的一级城市二级城市基本不会改变,可以存在localstorage。这种存储localstorage的行为不需要业务开发去写,只需要一个方法做一些收口,做一些配置,城市数据就会存到localstorage中去。localstorage也应该封装出来,而不应该直接操作localstorage ,例如可以用store去操作localstorage。数据映射到store就行了。store会操作关注localstorage,什么时候过期什么时候该存。这样就是收口,收口做得好的话,重复的业务就会少很多。
Hybrid设计--H5和Native,收口的更多相关文章
- 移动端学习之理解WEB APP、Native APP、Hybrid APP以及React Native/uniapp包括H5、小程序等的区别与共通之处
因为工作需要,需要进一步了解移动端的开发,遂返回复习移动端的知识点,在开始学习之前,产生了疑惑WEB APP .Native APP .Hybrid APP.React Native.Uniapp.H ...
- Hybrid设计--账号体系的建设
前后端分离:开发效率高,没有SEO 现在是重客户端设计:交互和业务逻辑是前端来写,适合做前后端分离.对前端更友好,提高了效率. 传统模式开发:整个业务逻辑是server端写,不适合做前后端分离.ser ...
- Hybrid设计--核心交互
普通网页中跳转使用a标签,这里我们要对跳转进行更多的干预,所以将全站的跳转收口到框架层,用forward去实现.拒绝用a和window.location.如果我想对所有跳转做一个处理,开动画或者对跳转 ...
- 【quickhybrid】H5和Native交互原理
前言 Hybrid架构的核心就是JSBridge交互,而实现这个交互的前提是弄清楚H5和Native端的交互 本文主要介绍Native端(Android/iOS)和H5端(泛指前端)的交互原理 (之前 ...
- h5和native测试时的区别
我们以往的APP是使用原生系统内核的,相当于直接在系统上操作,是我们传统意义上的软件,更加稳定 H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍差,似乎还没有百万级 ...
- Hybrid App 和 React Native 开发那点事
简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开 ...
- Flutter,H5,React Native
Flutter介绍 - Flutter,H5,React Native之间的对比 Flutter介绍 Flutter是Google推出的开源移动应用开发框架.开发者可以通过开发一套代码同时运行在i ...
- 基于webview的Hybrid app和React Native及html5
基于webview的Hybrid app和React Native及html5 React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iO ...
- iOS之H5和Native混合开发
今天需要用到一个H5和Native 混合开发的项目,简单的写一点入门的东西,很简答: 先介绍一下简单的配置步骤: 1.新建项目:SB拖一个UIWebView 按住Ctrl 拖线delegate 设置为 ...
随机推荐
- 转载]PhpCms V9调用指定栏目子栏目文章的两种方法
PhpCms V9调用指定栏目子栏目文章的两种方法 第一种.直接写子栏目id ,用cat in {pc:get sql="SELECT * from v9_news where status ...
- 201621123049 《Java程序设计》第1周学习总结
一. 本周学习总结 JDK,JRE,JVM等基本概念 怎么学好java???不,是怎么才能应用好??? 编程!编程!编程! 思考->设计->解决问题 二. 书面作业 1.虚拟机 1.1 执 ...
- p740+5802+外置磁带机连线
扩展柜型号5802 主柜型号p740 下图是连接线说明 需要连12X 和 SPCN 单个磁带机SAS线两根连接单个PCI否则,磁带无法提供多个分区使用 通过HMC或者查看资源情况 HMC配置Lpar分 ...
- 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署
最近在学习如何用 Docker 部署生产环境中的 ASP.NET Core 站点,作为一个 Docer 新手,从何处下手更容易入门呢?一开始就手写 Docker 配置文件(Docfile, docke ...
- hdfs 操作 入门api
获取分布式文件系统 // 获取文件系统 @Test public void getFileSystem() throws Exception{ Configuration configuration ...
- [No0000106]配置PLSQL,提升工作效率
界面模板的配置: 方便用户快速点击需要的功能.如打开SQL Window 1.打开customize,用户自定义Toolbars对话框. 2.在Commands命令标签页,选中要添加的命令,拖动到工具 ...
- [Day1]常用Dos命令,Java相关描述及基础
1.常用的DOS命令 (1)返回上一级目录:cd.. (2)返回盘符根目录:cd\ (3)切换当前盘符: 盘符: (4)进入文件夹: cd 文件路径 (5)展示当前目录下的所有内容:D ...
- [daily][centos][iptables][firewalld] firewalld的初步了解
CentOS7中默认使用firewalld代替了iptables . 接下来将对firewalld, 做一些初步的了解. 首先读一下, redhat的文档: https://access.redhat ...
- [skill][c][ld][gcc] 明确指定gcc在链接时明确使用静态库
通常,我们这样链接: gcc -o a.out -L/usr/lib/ -ltest a.o 这样它会链接动态库 libtest.so, 可是有时候我们想在静态库与动态库同时存在时,优先使用静态库. ...
- python摸爬滚打之day02----while循环,运算符,格式化输出
1.while循环 1.1 结构:while +条件判断: while 循环体 else: 条件不成立时语句块 while...else...是一个循环整体,当循环条件成立时执行while循环体内容 ...