前端开发所需掌握的技术(2)
5. 表现层逻辑 很多前端开发人员并不重视这部分内容,在有的公司,这部分内容根本就不属于前端开发人员的责任范畴。但是笔者认为,表现层是页面与后端程序沟通的桥梁,作为一名出色的前端开发人员必须关注它,这将有助于应用的可维护性。单纯从页面的角度来讨论前端架构是比较片面的,这也常常会造成对于前端设计人员设计的页面或风格,后端开发人员没有办法实现的局面。因此,结合表现层的逻辑来考虑整个前端架构更为合理,比如,在实体设计的时候就可以考虑到未来在页面上要如何展现这些设计,是否能够实现原型的效果。前端开发人员介入表现层开发将有助于解决原来前端开发所存在的一些问题。 在软件体系架构中,三层的结构是最常见的,通常客户端不直接访问数据库,而在它们之间加入服务层,用于处理业务逻辑及数据访问。图1-11是最常见的Java EE三层结构图。
(点击查看大图)图1-11? Java EE三层结构图
表现层的实现上,在Java EE领域与.NET领域,主流设计模式是MVC(Model View Controller)模型。它强制性地使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务。MVC模型具有低耦合性、高重用性、便于维护、部署成本低等优点。 业内主流的J2EE MVC框架如下所示: Struts:Apache曾经最为流行的MVC组件,目前大量的Java EE项目仍然在使用。 Struts2 :Apache用Struts 和 WebWork组合出来的新产品,目前上升势头强劲,本书的后续章节将以该框架作为表现层逻辑的实现方案。 WebWork:老牌的MVC组件,后来组合成了Struts 2,不过自身仍在发展。 Spring MVC:SpringFramework整合自己Spring的优势推出的MVC组件,其用户也不少。 JSF:这个是一个规范,Sun、Apache、Jboss都有各自的实现,用户量很大,被众多IDE支持。 Tapestry:最彻底的MVC开发框架,有丰富的组件资源,重用性很高。 6. 兼容性技术 兼容性所引发的问题近年来逐渐引起人们的重视,其实兼容性问题一直都存在,为什么如今才这么引人关注?这是有原因的。 首先,IE正在失去一家独大的局面,曾经IE占据浏览器市场90%的日子已经一去不复返了。同时,由于IE6、IE7、IE8对于W3C标准的支持程度都不尽相同,IE体系内部已经存在了兼容性的问题,再加上FireFox、Chrome等浏览器的强势崛起,各厂商与IE间的兼容性问题逐渐显著。 其次,在Web 2.0时代,随着Ajax技术的普及与发展,时常用大量的脚本与DOM操作来实现页面上的各种特效,在DOM操作、XML解析、创建异步通信对象等常用操作上的浏览器兼容性问题就逐渐显现出来。 最后,随着3G时代的到来,手机接入互联网的速度已经有了空前的提升,3G手机用户可以直接访问普通的网页。这时,要解决手机显示屏尺寸与普通显示屏尺寸不匹配而引起的用户体验的问题,需要考虑在布局框架上做相应的调整来实现兼容,然而布局又恰恰是浏览器兼容问题的“重灾区”,在各互联网应用越发重视手机用户的今天,此类问题自然越发引人关注。 因此,作为一名前端开发人员,必须掌握以下各个主流浏览器的特性: Mozilla Firefox Chrome Microsoft Internet Explorer Opera Apple Safari 在掌握这些浏览器特性的同时,还需要掌握一些常用的Hack技术来解决一些兼容问题。 7. 开放服务 SNS网站的兴起,带动了国内外互联网的新一轮盈利模式的变化。最早将Web应用API开放出来的应该算是Facebook,它通过开放API将自己变成了一个平台,让其他企业或者个人都能基于这个平台开发各种各样的应用。由于Facebook拥有大量的用户,每天都会产生近45个应用,每个人都能在上面找到适合自己的应用。继Facebook后,国内外互联网巨头也相继开放各自的API。 设想一下,如果明天我们将要去海南旅行,我们都需要做些什么?我们需要订机票、酒店、地图、导游,还有什么?还要有这样一个应用,打开某个网址,其网页内容中嵌入了各种需要的数据及航空公司提供的出行航班时刻信息,还能快速订票,Yahoo地图会告诉我目的地旅行线路,未来几天目的地的天气,Flickr可以展示网页旅行照片及酒店信息,等等,诸如此类的数据整合,前提是利用各大公司提供的API开发小部件应用,也称做Widget。目前国内的大多数SNS网站也纷纷提供了开放的API,这里我们只是举了几个常用的API的例子来简单地了解一下。希望在Web 2.0这样一个大环境下,能为用户提供更多的数据。不管是基于REST还是SOAP,前端技术人员都应该更深入地了解开放服务。 8. SEO SEO(Search Engine Optimization,搜索引擎优化)是一种基于互联网的营销方式,主要作用是增强网站在搜索引擎中的曝光率,从而增加销售机会或信息共享。最直观的反应是网站信息在搜索引擎中的排名。SEO是一项技术,是遵循搜索引擎科学而全面的理论机制,对网站结构、网页文字语言和站点间的互动外交策略等进行合理规划部署来发掘网站的最大潜力,从而使其在搜索引擎中具有较强的自然排名竞争优势,对促进企业在线销售和强化网络品牌起到作用。有人认为SEO很简单,就是做个排名,其实真正的SEO是通过采用易于搜索引擎索引的合理手段,使网站对用户和搜索引擎更友好,从而更容易被搜索引擎收录及优先排序。搜索引擎优化是一种搜索引擎营销指导思想,而不仅仅是对百度和Alexa等的排名。搜索引擎优化工作贯穿于网站策划、建设、维护全过程的每个细节,值得网站设计、开发和推广的每位参与人员了解其职责对于SEO效果的意义。要做好SEO,首先要做的是什么?除了SEO技术本身外,还需要面对的是W3C的技术标准,准确地运用标签,该使用