过去,应用开发需要注重大量的专业知识,程序员只需关注单一的语言(比如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. JSP学习笔记

    JSP学习笔记 Jsp网页主要分为Elements与Template Data两部分. Template Data:JSP Container不处理的部分,例如HTML内容 Elements:必须经由 ...

  2. SQL Server无法收缩日志文件 2 因为逻辑日志文件的总数不能少于 2问题

    SQL Server无法收缩日志文件 2 因为逻辑日志文件的总数不能少于 2问题 最近服务器执行收缩日志文件大小的job老是报错 我所用的一个批量收缩日志脚本 USE [master] GO /*** ...

  3. 在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  4. ABP理论学习之EntityFramework集成

    返回总目录 本篇目录 Nuget包 创建DbContext 仓储 仓储基类 实现仓储 自定义仓储方法 阅读其他 ABP可以使用任何ORM框架工作,并且已经内置了EntityFramework集成.这篇 ...

  5. HappyAA服务器部署笔记2(nginx的静态资源缓存配置)

    我近期对服务器进行了少量改进,虽然之前使用了nginx反向代理之后性能有所提高,但仍然不够,需要使用缓存来大幅度提高静态资源的访问速度. 服务器上的静态资源主要有这些:png, jpg, svg, j ...

  6. java中文乱码解决之道(四)-----java编码转换过程

    前面三篇博客侧重介绍字符.编码问题,通过这三篇博客各位博友对各种字符编码有了一个初步的了解,要了解java的中文问题这是必须要了解的.但是了解这些仅仅只是一个开始,以下博客将侧重介绍java乱码是如何 ...

  7. twobin博客样式—“蓝白之风”

    自暑假以来,囫囵吞枣一般蒙头栽入前端自学中,且不说是否窥探其道,却不自觉中提高了对网页版面设计的要求,乃至挑剔.一个设计清爽美观的网页能让读者心旷神怡,甚至没有了阅读疲劳:而一个设计粗劣嘈杂的网页实在 ...

  8. TroubleShooting笔记--快照进程sp_replupdateschema和索引重建发生冲突

    今天早上服务器出现大面积的阻塞,上去排查blocking,最后大概确定的问题是: rebuild index job(243) --->blocked--->sp_replupdatesc ...

  9. ie a absolute bug

    给a设置position:absolute时,在IE下,尽管display:block;width:100%;height:100%,依然无法点击.但是加一个背景颜色就可以了.如果不需要背景,再把背景 ...

  10. ThreaLocal内存泄露的问题

    在最近一个项目中,在项目发布之后,发现系统中有内存泄漏问题.表象是堆内存随着系统的运行时间缓慢增长,一直没有办法通过gc来回收,最终于导致堆内存耗尽,内存溢出.开始是怀疑ThreadLocal的问题, ...