美文网首页
试谈web前端

试谈web前端

作者: LORI地盘 | 来源:发表于2017-03-27 22:35 被阅读0次

    导语:

    对大前端工程师来说,这是最好的时代。文中多处引用牛人博客观点,重在分享,见谅见谅~

    一,认识前端

    WEB编程语言,分为WEB静态语言和WEB动态语言,WEB静态语言就是通常所见到的超文本标记语言 ,WEB动态语言主要是ASP,PHP,JAVASCRIPT,JAVA,CGI等计算机脚本语言编写出来的执行灵活的互联网网页程序。
    Web前端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过10年。Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

    最早的软件都是运行在大型机上的,软件使用者通过“哑终端”登陆到大型机上去运行软件。后来随着PC机的兴起,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种Client/Server模式简称CS架构。

    随着互联网的兴起,人们发现,CS架构不适合Web,最大的原因是Web应用程序的修改和升级非常迅速,而CS架构需要每个客户端逐个升级桌面App,因此,Browser/Server模式开始流行,简称BS架构。

    在BS架构下,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。

    当然,Web页面也具有极强的交互性。由于Web页面是用HTML编写的,而HTML具备超强的表现力,并且,服务器端升级后,客户端无需任何部署就可以使用到新的版本,因此,BS架构迅速流行起来。

    Web应用开发可以说是目前软件开发中最重要的部分。Web开发也经历了好几个阶段:

    静态Web页面:

    由文本编辑器直接编辑并生成静态的HTML页面,如果要修改Web页面的内容,就需要再次编辑HTML源文件,早期的互联网Web页面就是静态的;

    CGI:

    由于静态Web页面无法与用户交互,比如用户填写了一个注册表单,静态Web页面就无法处理。要处理用户发送的动态数据,出现了Common Gateway Interface,简称CGI,用C/C++编写。公共网关接口编辑
    公共网关接口(Common Gateway Interface)为web服务器定义了一种与外部应用程序交互、共享信息的标准。
    CGI的工作原理
    客户端浏览器向WEB服务器提出服务请求并显示服务器传递过来的结果。WEB服务器将客户请求正确映射传递给CGI接口程序,在将CGI的执行结果传递给客户端的浏览器。CGI接口负责处理WEB服务器传递过来的客户服务请求。

    CGI的作用

    • 扩大了WEB服务器的功能;
    • 它打破了服务器软件的局限性,允许用户根据需要采用各种语言去实现无法用HTTP、HTML实现的功能,给WWW提供了更为广阔的应用空间;
    • 为在不同的平台之间进行沟通提供了范例。

    连接服务器与外部应用程序。服务器可以向CGI程序发送信息,CGI程序也可以向服务器程序回送信息。

    ASP/JSP/PHP:

    由于Web应用特点是修改频繁,用C/C++这样的低级语言非常不适合Web开发,而脚本语言由于开发效率高,与HTML结合紧密,因此,迅速取代了CGI模式。ASP是微软推出的用VBScript脚本编程的Web开发技术,而JSP用Java来编写脚本,PHP本身则是开源的脚本语言。

    MVC:

    为了解决直接用脚本语言嵌入HTML导致的可维护性差的问题,Web应用也引入了Model-View-Controller的模式,来简化Web开发。ASP发展为ASP.Net,JSP和PHP也有一大堆MVC框架。

    目前,Web开发技术仍在快速发展中,异步开发、新的MVVM前端技术层出不穷。

    Python:

    Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发。
    Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快。

    二,学习前段

    基础学习:

    • HTML
    • CSS
    • JavaScript
    • jQuery
    • 学习如何编写可阅读的代码
    • 深入学习JavaScript:当每周我们有一个比任何旧框架更好的新框架的时候,这时会非常容易花费你的大部分时间去学习框架而不是语言本身。假如当你正在使用一个框架,但是并不理解它的工作原理,那就停下来并开始学习语言直到理解如何使用工具去工作。
    • 学习函数式编程:多年以来,我们想要在JavaScript中使用类,现在我们终于有了类但是再也不想使用它了:函数就是我们想要的一切!我们甚至用函数编写HTML(JSX)
    • 学习设计基础
    • 学习如何与人合作
    • 学习如何为人写作

    进阶学习:

    Web 框架上,从 Google 查询关键字的大势看,jQuery 时代已慢慢离我们而去。Web 前端框架已基本三足鼎立,分别是 React / AngularJS / Vue。不管是 Web,还是客户端,都不同程度遇到业务越来越复杂,代码量越来越大,编译性能越来越慢的问题。Web 开发中,Node.js已在驱动前后端的再分工,这已是事实。跨端技术今年已不再去谈论 Hybrid 技术了。离线化、差量更新、Web 与端互调等能力已不是什么新鲜事,说明混合开发已基本成熟,在各大厂均有较为广泛的使用,如果还没做的,也在补齐当中。新的技术是:React Native、Weex,还有 PWA、小程序,甚至还有 Electron。

    三,前景

    • iOS 动态插件化技术。特别是 iOS 上的插件化技术期待能够得到更大的发展,来解决目前发版效率与包大小问题。
    • Google 一边是 Chrome 的 Web,另一边是 Android 的 App,我很期待的是 Chrome 与 Android 融合之后对开发的影响。
    • Web 框架层面明年难有创新,中期还仍是 React/AngularJS/Vue 三驾马车的技术栈体系,但我仍期待是否有超越 React 的模板/框架思路。
    • HTTP 到 HTTPS 的更替将会推动 HTTP 2 的使用。让 Web 页面性能十年以来以请求数为首要基准成为过去式。为应对 HTTPS,部分云计算厂商可以提供整套移动端商业解决方案,如:长链透传收费服务和 HTTPS 套装。
    • 跨端上 React Native 与 Weex 着重于解决跨端技术问题,并不能给开发者带来实实在在的收益。PWA 还谈之过早,所以我更看好小程序未来的发展,并不是技术上现在有多牛,而是在微信它是能给个人开发者和 Web 从业者带来就业机会与收益的最佳方式。脑洞大一点的看,支付宝、Facebook、小米是否也会会推出自己的「小程序」场景呢?是件令人期待的事。

    最后,H5

    一、移动优先;

    二、游戏开发是重要领域;

    三、响应式设计:

    在HTML 5真的改变移动开发平台之前,必须要迈出重要一步,那就是“响应式设计”,也就是屏幕可以根据内容而自动调整大小。然而响应式设计也是一件非常不容易的事情,因为当今各式各样的设备实在是让开发者眼花缭乱,手足无措。要想做好响应式设计,就必须洞悉内容与屏幕之间的反馈关系,响应式设计要完全离开“流”,转而注重内容是如何在网页和移动设备中被处理的,这一过程还在继续,HTML 5会让它最终成为可能。

    四、设备访问;

    五、离线缓存。

    相关文章

      网友评论

          本文标题:试谈web前端

          本文链接:https://www.haomeiwen.com/subject/nhtdottx.html