过去,应用开发需要注重大量的专业知识,程序员只需关注单一的语言(比如COBOL、RPG、C++等),并利用该语言创建应用。而如今,时代在变迁。Web不再是单单关注独立的一面。相反,一个现代化的Web应用开发者应该是“样样精通”。他们不仅要理解开发方面还要明白Web应用安全漏洞问题,了解如何与其他设备集成在一起等等。往深了说,他们还需要了解这些应用程序是如何运行在平板电脑和智能手机上的。

  换句话说,Web应用开发正变得更加复杂化。它迫切需要一个不断增加以及不断发展的配套技能。

  那么,现代Web应用开发者理应具备哪些技能呢?作者 Joe Stangarone总结了几大领域专家的意见(也包括他自身的想法),这六大技能是每位Web应用开发者必须具备的:

  1. 安全

  过去,企业在内部安装应用,基于防火墙背后的应用无法与第三方服务或应用进行通信。而随着软件的发展,现代Web应用能够与其他设备进行集成,并存储在云服务器上或者访问多种类型设备。因此,安全问题显得尤为重要。

  “作为一名应用开发者(web/desktop),深入理解应用程序的安全性是最为重要的技能之一。”Veracode首席安全顾问Stephen Jensen说道,“在当今世界,有关安全问题的新闻不绝于耳,大多数是揭露数以百万计的人们的敏感信息。因此,Web应用开发者必须知道如何预防常见的漏洞,比如Cross-Site Scripting (XSS),SQL注入等。为了确保应用在创建过程中免受安全问题的恶意攻击,同时也为了保护用户潜在的敏感信息问题,这也是所有开发者应当学习的必备基础技能。”

  2. 用户体验(UX)设计

  “随着移动设备用户需求量的不断增加,开发者需要充分理解用户体验设计显得愈发重要。”Raster Media CEO Michael Smith说,“设计团队单独负责某款应用的用户体验的日子已经一去不复返了。开发者必须考虑互动、动画、速度以及各个APP之间的通信等问题。” 

  我完全赞同这一观点。用户体验设计有几大重要因素,首先,用户的期望有所上升。用户下载一款新的应用,他们想立即知道它是如何运行的。他们希望从业务应用中获取相同的体验。其次,用户有选择的余地。如果不喜欢这款应用,他们会寻找另一款代替。由于用户的期望值增加以及竞争的加剧,更为直观的界面需求比以往显得更加重要。

  3. 自适应/响应式设计

  谈及UX设计,Web App开发者必须建立可随处运行的应用程序。现在的问题不再是“用户如何与我的应用进行交互?”而是演变成“用户与我的应用如何在每款设备类型上进行交互?”

  想要做到这一点并不容易。你必须回答以下这些问题:“智能手机上的按钮设置在哪里?你如何在小屏幕上格式化数据表?当设备从人像模式切换至风景模式会发生什么?”总之,Web开发者必须知道让Web应用适应不同屏幕大小的方法。

  针对跨平台/设备,响应式设计和自适应设计主要两大方法:

  • 响应式设计使用流体网格以及CSS3媒体查询来适应各种屏幕大小/类型上的应用。你可以通过Web找到各种响应式设计案例。例如 TheNextWeb就是个典型的案例。你会发现,当你调整浏览器大小时,该网站会自动适应新的尺寸。
  • 自适应设计根据不同的设备提供不同的HTML页面。比如,一款独立的Web应用可能需要3个独立的表示层(HTML):一个是PC端,一个是平板电脑,另一个则是智能手机。例如,在不同的设备上访问 Web App,外观和行为显示的均各不相同。

  那么哪一种方法最好呢?我想说它们有各有各的优势。响应式方法对于Web网页设计以及Web应用信息来说是个不错的选择;而自适应方法可更好的适用于数据驱动Web应用,尤其是包含那些数据表的应用。为什么?这是因为它让开发者能够更好的控制数据结构和样式,而不是试图去适应多种屏幕尺寸上的单个表格,自适应设计方法可让你为每款设备创建不同的表单。

  4.  JavaScript

  开发者总会为他们选择的编程语言而争论。你无法说服一个Java程序员称赞PHP是最好的,反之亦如此,就像你也无法说服一个PHP程序员赞同Java是最好的。在Web应用中开发者大多数会选择使用JavaScript。

  “随着移动和Web桌面应用的发展,JavaScript已快速成为最为重要的计算机语言。” Coordinato创始人Ben Bakhshi表示,“不少业内人士认为利用JavaScript编码将在未来10年内显著增加。”

  5. Web应用架构

  在Web开发上,应用架构变得比以往更加重要。应用体系架构直接影响到应用可扩展性、灵活性,以及集成其他Web服务和应用的能力。如果开发者想要创建一款有用的、可持续性的应用,那么理应深刻掌握Web应用架构知识。

“Web应用开发者应该充分关注Web应用架构”,MRC软件开发经理Tyler Wassell说,“开发者应该了解,所开发的应用程序如何与所有系统组件进行交互,以及底层架构将如何影响诸如可移植性、可维护性、可用性等性能情况。”

  6. API集成

  现如今,API已发展成为Web开发一个重要的方面。从本质来讲,API让不同的Web服务之间相互通信。开发者可以通过其他应用/服务上调用数据创建应用。

  SimpleCollegeRecipes网站创始人兼CEO Brendan O’Connor认为,“API集成已成为现在Web应用开发者必备的技能。API允许你从其他网站上整合内容和信息。可以说,API使人人受益,包括终端用户,API供应商以及程序员自己。”

  总结:

  Web应用开发正在不断演变,Web开发所具备的技能也在不断更新变化中。开发者唯有不断进取、学习新的知识才能在开发行业中站住脚。当然,想要掌握每一种Web(移动Web)技能,几乎是不可能的,大部分公司无法为员工给予Web以及移动开发方面不同的解决方案,不可能做到面面俱到。

  那么,你的公司是如何解决日益复杂的Web应用开发的?

现代Web应用开发者必备的六大技能的更多相关文章

  1. 每个Web开发者必备的9个软技能

    对于一份工作,你可能专注于修炼自己的内功,会在不自觉中忽视软技能.硬技能决定你是否能得到工作,而软技能能够表明你是否适合这份工作和适应工作环境等.所有的公司都有属于自己的文化,并努力将这些文化传承下去 ...

  2. [转]WEB开发者必备的7个JavaScript函数

    我记得数年前,只要我们编写JavaScript,都必须用到几个常用的函数,比如,addEventListener 和 attachEvent,并不是为了很超前的技术和功能,只是一些基本的任务,原因是各 ...

  3. Android开发者必备的42个链接

    http://mobile.51cto.com/ahot-426035.htm Android开发者必备的42个链接 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助 ...

  4. iOS开发者必备的10款工具

    当前iOS和Android两大移动操作系统“二足鼎立”,几乎覆盖了市面上大部分的智能手机.相比Android,iOS开发适配更简单,且随着各种实用工具和Swift语言的出现,iOS开发门槛地降低,开发 ...

  5. .NET开发者必备的11款免费工具

    原文:.NET开发者必备的11款免费工具 如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担.本文为开发者介绍了 ...

  6. Web前端-CSS必备知识点

    Web前端-CSS必备知识点 css基本内容,类选择符,id选择符,伪类,伪元素,结构,继承,特殊性,层叠,元素分类,颜色,长度,url,文本,字体,边框,块级元素,浮动元素,内联元素,定位. 链接: ...

  7. 开发者必备的12个JavaScript库

    现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计.为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node. ...

  8. [福利] 开发者必备的 Chrome 插件——ChromeSnifferPlus

    Chrome Sniffer Plus: Chrome 探测器,可以探测正在使用的开源软件或者 js 类库,开发者必备. 通过本插件,您可以探测: javascript 库: jQuery.ExtJS ...

  9. 前端开发者必备的Nginx知识

    摘要: 最常用的Web服务器 -- Nginx 原文:前端开发者必备的Nginx知识 作者:ConardLi Fundebug经授权转载,版权归原作者所有. Nginx在应用程序中的作用 解决跨域 请 ...

随机推荐

  1. 天气预报API开发

    天气预报API开发 一.        寻觅篇 最近想要跟着视频练习一下利用API开发一个天气预报系统,就在网上找了一下可以用的API,结果好多都已经失效了... 1.       百度车联网天气预报 ...

  2. RSA密钥生成与使用

    RSA密钥生成与使用 openssl生成工具链接:http://pan.baidu.com/s/1c0v3UxE 密码:uv48 1. 打开openssl密钥生成软件打开 openssl 文件夹下的  ...

  3. 学习笔记:Java的一些基础小知识之JVM与GC

      一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...

  4. Hadoop学习笔记—10.Shuffle过程那点事儿

    一.回顾Reduce阶段三大步骤 在第四篇博文<初识MapReduce>中,我们认识了MapReduce的八大步骤,其中在Reduce阶段总共三个步骤,如下图所示: 其中,Step2.1就 ...

  5. 给公司部门设计的SOA架构

    新来老大年前开会说各位同学,公司业务越来越重,未来几年要成倍增长......,要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败..... 想想还有点小激动呢,于是过年 ...

  6. Linux 查找已安装软件的方法

    1.rpm 注意rpm区分大小写 查询已安装的以mysql开头的包 rpm  -qa mysql* 查询已安装的mysql 包 rpm -qa|grep mysql rpm的方法有时候也所有已安装的包 ...

  7. 用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信

    两周前用长轮询做了一个Chat,并移植到了Azure,还写了篇博客http://www.cnblogs.com/indream/p/3187540.html,让大家帮忙测试. 首先感谢300位注册用户 ...

  8. 如何使用Worktile进行敏捷项目开发管理

    Worktile在任务管理上采用了看板视图,非常适合进行敏捷项目开发管理.事实上,在开发Worktile的过程中,我们也是自产自销,使用Worktile管理Worktile本身的开发过程,在本文中跟大 ...

  9. JavaEE连接数据库练习

    登录端 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncod ...

  10. iOS开发-闪退问题-解决之前上架的 App 在 iOS 9 会闪退问题

    最新更新:(2015.10.02) 开发环境: Delphi 10 Seattle OS X El Capitan v10.11 需使用下列 HotfixID: 30398, PAServer Hot ...