1.9 From Native to HTML5
The mobile technology has become more and more mature, and it has evolved from a ridiculous situation in 2012 to now. For the Chinese engineers, we are more concerned about such a few points, hotfix, performance, development efficiency, App size and data-driven products. These aspects have already had very good solutions at present, but also emerged some excellent framework like RxJava, CanaryLeak. This topic is very big, and also out of this book scope.
By the immense prosperity of App technology, I recall my first job in 2004, the IT industry was transitioning from CS to BS. CS is a Client/Server architecture. For example, if you install a client of Lianzhong game center on Windows system, you can get the client of Texas Hold'em poker. After the technology of the Internet grew up, you start to move the original system into the website. This is BS, the full name is Browser/Server architecture.
To compare with CS, BS was a thin client, many features were not supported by BS. It came up with the concept of a SmartClient, which is a smart client. Outlook is a good sample. You can read and write E-mail offline without network, when the network is available, it send a written e-mail automatically.
Then, Flash was become hot. This was a tool for three webmasters originally, but it became the originator of the web-rich client. Based on Flash, there will be Flex, and now some companies are adopted Flex. At this time, Microsoft also came in and created a Silverlight, which is also similar to Flash on the web. At the same time, JavaScript is also working hard and gradually replacing the former and becoming the final winner of the rich client. A book was very popular at that time, it is called "JavaScript Design Patterns."
JavaScript was only used to do web visual effects in 2004. Ten years later, JavaScript has experienced with ajax, jQuery, ECMAScript from 1 to 6, Webpack packaging, and so on. The frameworks of Angular, React, Vue have become extremely powerful and have been packaged due to javascript as a "object-oriented" language.
Compared with web technology, the App is also taking the same development path. First, it mute for a few years. Many of the technologies on the website are moved to the App, just like what we do today. The next stage is the transition from CS to BS. The Hybird technology is the above-mentioned BS, but there are many defects, especially the bad performance of Web browser, then there are React Native, HTML 5 is also slow, but you can translate HTML 5 into Native code . It is not clear for me to make such kind of progress, but the future is very clear. Android and iOS technology will not die; on the other hand, HTML 5 will become the main method of App development in following years.
1.9 From Native to HTML5的更多相关文章
- 基于webview的Hybrid app和React Native及html5
基于webview的Hybrid app和React Native及html5 React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iO ...
- 实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序
1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保 ...
- native和html5的通信方案
一.jsbridge 重写WebView中WebChromeClient类的onJsPrompt()方法 二.url里面带参数 三.在js里面写全局函数,在native中调用
- HTML5 game engines
The following are few examples of game engines implemented with HTML5 and JavaScript: Construct 2: O ...
- [Mugeda HTML5技术教程之1] HTML5: 生存还是毁灭
[Mugeda HTML5技术教程] 开篇: HTML5 - 生存,还是毁灭 摘要:HTML5并不试图解决所有问题.但是在很多适合的场合,HTML5是不二选择. To be, or not to be ...
- QQ空间玩吧HTML5游戏引擎使用比例分析
GameLook报道/“Cocos 2015开发者大会(春季)”于4月2日在国家会议中心圆满落下帷幕.在会上全新的3D编辑器,Cocos Runtime等产品重磅公布,给业界带来了Cocos这款国产引 ...
- 【grunt整合版】30分钟学会使用grunt打包前端代码
grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...
- 【grunt第三弹】grunt在前端实际项目中的应用
前言 [grunt第二弹]30分钟学会使用grunt打包前端代码(02) [grunt第一弹]30分钟学会使用grunt打包前端代码 经过前两次的学习,我们了解了grunt打包的一些基础知识,对于压缩 ...
- 去它的h5,我还是用js写原生跨平台app吧
智能手机功能越来越强大,已经在逐渐替代电脑的作用.百度.腾讯.阿里的移动端日活数也在逐步的赶上甚至超越电脑端用户.叫喊着“mobile first”的公司越来越多,App开发者应运而生,且队伍日趋庞大 ...
随机推荐
- 初学python之路-day06
每天一篇总结,今天学习了大概有深浅拷贝,元组类型,字典类型与集合类型.第一次感觉有点难度,需要花费多点时间来掌握. 深浅拷贝,分为值拷贝.浅拷贝.深拷贝. ls = [1, 'abc', [10]] ...
- Scyther spdl(比较准确的翻译)
1.协议的主要的核心是定义一个协议在协议中声明角色: Protocol ExampleProtocol(I,R){ role I{ }; role R{ }://在角色中一开始我们没有定义角 ...
- layer.open()利用代码实现伪阻塞
今天在项目中遇到需要弹框处理的问题,,当用户点击某个单选框时,需要进行确认操作,,常规的情况下,因为layer.open()和layer.confirm()都是异步执行的, 在点击单选框之后单选框会立 ...
- 依赖背包——cf855C好题
比较裸的依赖背包,但是想状态还是想了好久 转移时由于边界问题,虽然可以倒序转移,但当容量为0|1的时候,由于有初始值的存在 很难再原dp数组上进行修改,所以额外用tmp数组来保存修改后的值 #incl ...
- 洛谷 P1983 车站分级
题目链接 https://www.luogu.org/problemnew/show/P1983 题目描述 一条单向的铁路线上,依次有编号为 1,2,…,n的 n个火车站.每个火车站都有一个级别,最低 ...
- 关于解决微信支付sdk中NoClassDefFoundError: Failed resolution of: org.apache.http.conn.ssl.DefaultHostnameVerifier;
导入依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>ht ...
- h5调起微信支付
后台需要进行生成签名获取参数. 前台代码: function onBridgeReady(appId,timeStamp,nonceStr,package1,paySign,signType,open ...
- 服务器Nginx 反向代理 其他服务器 8181端口 失败的问题
排查方向: 1. 检查服务器的防火墙 2. 检查安全策略 3. 关掉Nginx 服务器上的安全软件 如360 软件会照成这个问题 来自为知笔记(Wiz)
- Linux:从入门到放弃
[未解决] # 周五,安装ubuntu 18.04 # 周六,相继安装minit / deepin 系统. # 至今,遇到过还没有解决的问题有: # . 开机ACPI Error: # . 无论哪个L ...
- java做图片点击文字验证码
https://blog.csdn.net/qq_27721169/article/details/82769093