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 设置为 ...
随机推荐
- python-and和 or用法
python中的逻辑运算 and和or执行逻辑运算,但是它们不会返回bool值,而是返回它们进行比较的值之一 and >>> 1 and 2 取2 >>>1 and ...
- [No0000107]C#中 Excel列字母与数字的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 子分区 复合分区 Subpartitioning
https://dev.mysql.com/doc/refman/8.0/en/partitioning-subpartitions.html
- malloc函数 链表
https://baike.baidu.com/item/malloc函数 malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void ...
- io.UnsupportedOperation: not readable
两处错误一.你是用open打开一个文件,此时调用的是w写入模式,下面使用read是没有权限的,你得使用w+读写模式二.使用write写入一个字符s,但是此时并没有真正的写入,而是还存在与内存中.此时执 ...
- day0311 深浅copy
1.赋值运算 l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barry', 'alex']] ...
- [development] __attribute__((weak))是干嘛的
简单的说,就是当发生 “重复定义的时候”.被声明者会被冲突者覆盖掉. 这里还涉及了weak与alias连用的情况. 参见,里边有两个例子,很浅显易懂. https://my.oschina.net/s ...
- day3_字符串常用方法
s.upper()s.lower()s.capitalize()s.split(',')s.strip('abc')s.lstrip()s.rstrip()s.replace('old','new') ...
- 2018/04/25 PHP7的编译安装
为什么要编译安装? 因为最近要学习 swoole ,想使用目前最新的 PHP7.2.4 ,但是我所在的 Ubuntu-16.04 的 apt 下只有 PHP7.0 的版本. 加上自己也想学习一下源码的 ...
- eclipse中tomcat无法加载spring boot
转自: http://blog.csdn.net/u010797575/article/details/50517777 最近搭建一套spring boot框架,作为 application 启动项目 ...