用户界面领域: web技术与原生技术之争

除了浏览器中运行之外, html5的技术也在app领域和移动端的安卓, iOS, 以及桌面端的window, linux以及OS X展开了竞争. 同样属于用户界面领域, 他们各有各的优势. 在不同的时期和环境下, 受重视程度会不同.

原生技术的优势

  • 性能 原生应用大多采用编译性语言, 如java, object-c进行编写, 直接编译成二进制码, 速度快.
  • 对硬件功能的调用 如设备上最新推出的功能, 原生应用可以完美调用. 而web技术可能调用起来相对麻烦.
  • 软件大小 web技术本身套壳的方式就带来了很多不需要的代码, 原生应用就可以避免.

web语言的优势

  • 跨平台兼容性 现在终端越来越多: 除了电脑之外, 手机, 平板, 电纸书, 手持设备, 自助设备, 智能电器, 眼镜, 以及超级app--微信都将提供可交互的用户界面. 因为这些设备是不同的系统在运行的, 所以, 使用原生代码编写, 可能需要针对每一种设备单独进行编写一套程序; 而使用web语言编写, 则是需要支持该设备的壳. 只要这个壳设计得够标准, 通过稍微的适配, 就可以一套web程序, 兼容不同的平台.
  • 开发周期短 得力于脚本语言的优势, 配合强大的库, 可以更便捷的进行开发.
  • 升级迭代容易 原生app有个很大的问题, 就是升级需要通过系统的功能. 而webapp, 依赖于壳, 作为壳的内部行为, 不用通过系统就能直接升级成为最新的版本. 或者它就是个网页, 发给用户的就是最新的.
  • 作为网页可搜索 如果把web技术用来制作网页, 它的内容将可以被搜索引擎搜索到. 成为整个互联网信息的一部分, 而不是某个应用软件所处的一亩三分地中的数据.

综上所述

  • 原生技术适合多动画, 大数据量, 交互十分细腻的大中型项目.
  • web技术适合对性能要求不高, 需要快速开发抢占市场的中小型项目.

对未来的预测

我大胆预测, 短期几年内:

  • 游戏, 调用非主流硬件, 知名应用方面, 原生app将一直占据该市场.
  • 在雨后春笋般爆发出来的新的创业型中小项目方面, 在业务本身只是一些常规操作的情况下, 随着硬件性能的提升, web技术将逐渐吞食原生应用的市场.
  • 在用web程序初步获取市场成功后, 将会出现不同的选择: 立刻转型原生应用, 还是继续保持web应用来快速迭代. 无论如何, 都将是逐渐逐渐转化为原生应用.

那么, 从长期来看:

  • 硬件和操作系统的革新, 带动新的用户习惯. 而与之对应的原生技术将获得重视. 甚至后面可能出现的温感, 空间感, 3d投影, 全息投影, 动作捕捉等技术. 都将带动某种原生技术的发展.
  • 在该用户习惯被普及后, 跨平台的轻量级技术(现在主要的可能性就是web技术)将会立刻填补到很多轻量级应用的开发上面.

web前端技术的自身的变化

还有一个问题, 现在的web前端技术是否会被淘汰?
现在热门的框架, 一定会被更优秀的, 更先进的框架所淘汰, 或者说自己破茧重生.
不光如此, 我认为, html, css, javascript这些语言也会被淘汰. 但是淘汰不是被现在原生语言取代, 而是成为一种新的跨平台web语言:

  • 有可能该语言自身会逐渐发展, 就算是向前兼容, 很多使用上和几年前的这个语言相比, 已经面目全非. 可以说是一种新的语言.
  • 解释平台(比如浏览器)只要提供兼容接口, 就可以使用另外一种更强的语言来代替html, css, javascript.

但我觉得前端工程师并不需要担心, 就算是新的技术替代了现在的技术, 这种新技术也基本不可能是一种完全不同的技术. 他可能是现在技术的升级版, 并且由前端工程师中的优秀分子, 而不是其他岗位的人率先尝试并推行使用, 他们可能类似jade, sass, coffeeScript而已. 更重要的是, 变化的只是语言的写法和api, 而不是架构的模式, 业务的逻辑和交互的流程. 优秀的前端工程师, 会短时间甚至第一时间, 就用上新的语言. 这些语言, 会更简洁, 并且更强大!


css工程师和js工程师是否分家

某些领域会. css工程师只需要提供样式变化和动画的接口给js工程师, 就可以分别招聘最合适的人来分工合作. 并且让每个岗位的人更关注于某细分领域的职责.
而有些领域则不会. 比如组件化开发的项目中, html已经变成模板, 而css样式已经和组件的通过js完成的各种配置耦合在了一起.
同时, 在泛前端的工作中, 远远不是只有cssjavascript的工作! 只要有分工, 就需要有一个人能够统一整个前端的工作. 对于任何一个前端, 可能某个项目中不会做css或者js的工作, 但是, 这两者都是需要精通的!

web前端技术与原生技术的竞争, 及未来的发展的更多相关文章

  1. 必知干货:Web前端应用十种常用技术你全都知道吗?

    Web前端应用十种常用技术,随着JS与XHTML的应用普及,越来越多的web界面应用技术出现在网站上,比如我们常见的日历控件,搜索下拉框等,这些web界面应用技术大大的丰富了网站的表现形式,本文将为您 ...

  2. [转] Web前端开发工程师常用技术网站整理

    1.常用工具相关 有道云笔记 http://note.youdao.com/signIn/index.html 36镇-最好用的共享收藏夹 http://www.36zhen.com/ 浏览器同步测试 ...

  3. Web前端开发工程师常用技术网站整理

    1.常用工具相关 有道云笔记 http://note.youdao.com/signIn/index.html 36镇-最好用的共享收藏夹 http://www.36zhen.com/ 浏览器同步测试 ...

  4. 学习Web前端开发时有哪些技术点

    现在学前端的人是越来越多,学习质量也是参差不齐.过来人的身份告诉你,如果你还没有下定决心花时间去学习Web前端,那也可以先找些视频学习下,Web前端开发有哪些常见技术点!接下来,就看看Web前端开发有 ...

  5. 一文读懂前端技术演进:盘点Web前端20年的技术变迁史

    本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享. 1.引言 1990 年,第一个Web浏览器的诞生:1991 年,WWW诞生,这标志着前端技术的开始. ...

  6. 论如何在手机端web前端实现自定义原生控件的样式

    手机开发webapp的同学一定遇到过这样问题,如何为丑极了的手机元素应用自定义的样式.首先,要弄清楚为什么要定义手机原生控件的样式,就需要看看手机的那些原生框样式的丑陋摸样: android: ios ...

  7. Web前端新手想提升自身岗位竞争力,需做好这3件事!

    Web前端开发行业的发展前景毋庸置疑,只要是互联网企业,几乎都需要Web前端开发工程师.虽然Web前端入行门槛低,但竞争逐渐激烈,想要取得高薪,就一定要具备强大的实力.那么,在重庆Web前端培训学习中 ...

  8. 谈谈Web前端工程师的定位

    原文地址:http://www.360doc.com/content/10/0708/17/1277406_37692580.shtml 2010-07-08  锋子chans   阅 1116  转 ...

  9. 100本最棒的web前端图书推荐

    前端技术,要学习的内容太多了,当你不知道从哪里开始的时候,你就先从看书开始,边看书边码代码,这个是学习编程必须的过程,因为你看一百遍,还不如自己写一遍,写一遍,第一可以加印象,第二便于更好的理解. 熟 ...

随机推荐

  1. 【codeforces 509E】Pretty Song

    [题目链接]:http://codeforces.com/contest/509/problem/E [题意] 让你计算一个字符串的所有子串里面元音字母出现的频率的和; [题解] 先处理出前缀和-&g ...

  2. 彻底搞定Android开发中软键盘的常见问题

    软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog.        InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参 ...

  3. 修改tomcat端口号的方法

    8080是Tomcat服务器的默认的端口号.我们可以通过修改Tomcat服务器的conf目录下的主配置文件server.xml来更改.用记事本打开server.xml文件,找到如下部分: 以下为引用的 ...

  4. TinyAdmin前端展现框架

    一直在苦苦寻找一个合适的前端框架,少说也看了几十个. ext太重.并且有内存泄露,在IE下就是个悲剧. dhtmlx,速度比較好,开源是GPL不适合企业应用,商业的要钱,倒也不贵万把块钱,可是样式比較 ...

  5. json、js数组真心不是想得那么简单

    之前因为做前台的东西比較少,对于json和js数组的认识仅局限于一种固定格式.这样的固定的思维在开发前台时,特别是近期使用highcharts插件时.让我感到特别不明确.通过查询最终心头的疙瘩解开了. ...

  6. 创建hive整合hbase的表总结

    [Author]: kwu 创建hive整合hbase的表总结.例如以下两种方式: 1.创建hive表的同步创建hbase的表 CREATE TABLE stage.hbase_news_compan ...

  7. It's not a Bug, It's a Feature! (poj 1482 最短路SPFA+隐式图+位运算)

    Language: Default It's not a Bug, It's a Feature! Time Limit: 5000MS   Memory Limit: 30000K Total Su ...

  8. MySql存储过程与函数

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来运行 ...

  9. Spring+Mybatis之登录功能demo

    其实工作之后就没有用过Spring+Mybatis的框架了,因为公司有一个自己开发的框架,讲道理,其实这个与Spring+Mybatis整合很是神似.当然性能上还是比不上Spring+Mybatis所 ...

  10. NYOJ skiing(DFS+记忆化搜索)

    skiing                                                                        时间限制:3000 ms  |  内存限制: ...