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的更多相关文章

  1. 基于webview的Hybrid app和React Native及html5

    基于webview的Hybrid app和React Native及html5 React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iO ...

  2. 实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序

    1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保 ...

  3. native和html5的通信方案

    一.jsbridge 重写WebView中WebChromeClient类的onJsPrompt()方法 二.url里面带参数 三.在js里面写全局函数,在native中调用

  4. HTML5 game engines

    The following are few examples of game engines implemented with HTML5 and JavaScript: Construct 2: O ...

  5. [Mugeda HTML5技术教程之1] HTML5: 生存还是毁灭

    [Mugeda HTML5技术教程] 开篇: HTML5 - 生存,还是毁灭 摘要:HTML5并不试图解决所有问题.但是在很多适合的场合,HTML5是不二选择. To be, or not to be ...

  6. QQ空间玩吧HTML5游戏引擎使用比例分析

    GameLook报道/“Cocos 2015开发者大会(春季)”于4月2日在国家会议中心圆满落下帷幕.在会上全新的3D编辑器,Cocos Runtime等产品重磅公布,给业界带来了Cocos这款国产引 ...

  7. 【grunt整合版】30分钟学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

  8. 【grunt第三弹】grunt在前端实际项目中的应用

    前言 [grunt第二弹]30分钟学会使用grunt打包前端代码(02) [grunt第一弹]30分钟学会使用grunt打包前端代码 经过前两次的学习,我们了解了grunt打包的一些基础知识,对于压缩 ...

  9. 去它的h5,我还是用js写原生跨平台app吧

    智能手机功能越来越强大,已经在逐渐替代电脑的作用.百度.腾讯.阿里的移动端日活数也在逐步的赶上甚至超越电脑端用户.叫喊着“mobile first”的公司越来越多,App开发者应运而生,且队伍日趋庞大 ...

随机推荐

  1. mysql主从不同步原理

    mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负 ...

  2. javascript中的浅拷贝ShallowCopy与深拷贝DeepCopy

    拷贝,在js中,分为浅拷贝和深拷贝.这两者是如何区分的呢?又是如何实现的呢? 深浅拷贝的区分 首先说下,在js中,分为基础数据类型和复杂数据类型, 基础数据类型:Undefined.Null.Bool ...

  3. Angular 项目列表页

    $ ng g m project 功能:项目列表显示,增加,修改,删除项目.邀请其它人员加入项目. 单一性原则:希望搭建多个组件,每个组件负责自己的功能. 一.project相关组件 $ ng g c ...

  4. js 屏蔽政治关键字

    一般情况下,用户输入评论提交到后台的同时,在后台进行关键字过滤,昨天看到了一个js关键字过滤的方法,记录下. 方法很简单,先把需要过滤的关键字做成数组, 在for循环数组判断有没有匹配. ok,先来个 ...

  5. IIS处理并发请求设置

    一个ASP.NET项目在部署到生产环境时,当用户并发量达到200左右时,IIS出现了明显的请求排队现象,发送的请求都进入等待,无法及时响应,系统基本处于不可用状态.   当发现请求明显延迟,没有被即时 ...

  6. TextBox使用技巧--转载

    [转载出处注明:http://tieba.baidu.com/p/3677706825] 在使用Visual Basic开发应用程序时,TextBox控件是最常用的(特别对于数据库程序),以下是笔者在 ...

  7. JavaWeb-SQL-Servlet-JSP学做购物系统——日志一

    一.JDBCUtil 本人自半路出家学码代码以来,bug不断,一直不顺利.路漫漫.话不多说,上bug:T_T; 代码是这样的: 自定义的方法,插入一个sql语句:execUpdate(String s ...

  8. java int数组任何数之间间隔不能对于指定数,内付极速排序

    public static void main(String[] args) { int []arr = {300,310, 210,313,334,360,255,233,275,274,410,5 ...

  9. 动态规划——Freedom Trail

    题目:https://leetcode.com/problems/freedom-trail/ 额...不解释大意了,题目我也不想写过程了有点繁琐,直接给出代码: public int findRot ...

  10. photoshop改变图片大小,不改变像素

    用画图修改了图片像素,360*440 但是图片30K,要求图片20K 打开photoshop,打开图片,点击文件--存储为web所用格式,调节品质大小到20K以下,保存即可