`
wsql
  • 浏览: 11771939 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

页面前端的水有多深?

 
阅读更多

但凡从事互联网的人基本都会写几行html,用过Word的人用Dreamweaver也能做出规整的页面,所以大部分人会很自然地认为“页面的开发没什么技术含量,很简单”。不仅有这种普遍的认知,对从业者来说也有很多疑惑:做页面前端实现,没问题;兼容性,小case;图片集成,一直都在用……还能有什么问题?瓶颈啊、天花板啊、转型啊、出路啊就在从业者中广泛讨论。是不是真的没什么问题了呢?网易邮箱前端技术中心也设立好几年了,似乎有着讨论不完的话题,也经常会有一些新的想法让大家为之一振。那么页面开发还有哪些要求,还要做些什么,这里面的水有多深,让我们舀舀看。

  在不同的时期对页面前端的看法似乎是多变的。在互联网早期的时候,小车还是比房子贵的,烧饼和粉丝还只是用来吃的,菊花还只是用来泡茶的。那时的页面设计风格相对单一,对应的页面需求比较简单,并且当时的浏览器也基本是IE6的天下,javascript也只是网页特效的代名词,HTML页面本身没有引起太多人的关注,似乎只要能用div甚至table加css辅助把图片定好位,把页面内容预留好就OK了,并且这种观念存在了很长一段时间。随着页面内容的丰富,设计风格的发展,交互复杂性的增加,AJAX的应用,浏览器的更新换代,又让大家重新对最基本的页面本身重视起来。然后热议的就是浏览器的兼容性,碰到问题最热衷的就是满网络搜索hack,顺便再骂骂IE6、7……当这些都做一遍后,似乎又遇到了瓶颈,又开始寻找出路。我们就从这个阶段开始说起。

  实现效果图是最基本的工作

  把视觉稿通过页面代码的方式表现出来包含了两个基本诉求:1. 能够真实反映视觉稿;2. 能够通过浏览器的兼容。这两个诉求的达成需要我们有追求细节的态度和一定的页面功底,能完成这两个内容就可以初步进入页面前端的从业者行列了,但这就代表着我们可以胜任页面开发的工作了?不,才刚刚开始!

  与设计师的沟通和项目的参与

  沟通很重要。先抛出几个问题:我们有没有和设计师探讨过某些效果对低端浏览器渲染效率影响比较大?有没有探讨过部分效果可以用CSS3实现从而使得结构更加简洁清晰?有没有在代码和视觉中寻追求过平衡?页面前端的开发向基本用户,编写的代码也直接作用在浏览器上,我们有义务对页面的稳定性和渲染效率负责。我们也经常碰到项目在总体进度压力下导致的设计与页面前端开发同步进行,这时更有必要尽量多地获取项目信息,了解我们还要做些什么,这些可以帮助我们充分考虑重用和框架拓展。

  良好的页面结构

  页面结构的编写好比盖房的地基建设,其好坏会直接影响到CSS代码的质量、js开发、后台开发还会影响到以后的页面拓展、迭代和页面调整。拿到视觉稿后,不要忙着动手开始,多观察思考。先分析布局,划分框架,然后规划结构,编写代码。特别在大型项目中,合理使用模块化的开发不论从整体进行还是拓展维护都有相当大的好处。

  关于hack

  很多同学在页面开发时上网搜索最多的就是hack了,是否我们完全要依赖hack来实现页面兼容性,答案是否定的。大家经常比喻IE6向我们撒了一个谎,结果我们要再撒一百个谎来圆这个谎。不否认IE6经常让我们口吐鲜血,但不代表我们用更多的“谎言”来弥补就可以心安理得。大部分情况下可以通过变换思路调整HTML结构,或使用一些虽然无法解释但相对安全的css来干掉hack。谁都无法预计使用hack什么时候会让我们栽一个大跟头。比如触发layout或position:relative就可以帮助解决很多IE6的问题。

  优美的代码

  现在很多web项目功能复杂,代码规模也会变得很庞大,如何更好地进行协同开发和维护是我们面临的一个问题。需要考虑完善统一的规划,还有要养成良好的代码开发习惯才会在面临各种情况时游刃有余。翻阅页面代码,看到合理的标签使用、良好的注释、清晰的代码结构、用意准确的css,不仅犹如欣赏一个艺术品,更为下游开发和协同开发降低了不小的沟通成本,我们有什么理由不去这么做呢?举个反面例子:div滥用是现在比较典型的一个问题。数数看自己使用的标签有多少个呢?不同的语义都该使用对应的标签代码,特别是HTML5提供了更丰富的语义化标签,它们都苦苦地在等待战场上的冲锋号,让我们去解放它们吧!

  无障碍页面开发

  可访问性与易用性是非常主观且人性化的东西。普通人看上去上完美呈现的页面在特殊群体中不一定显得那么贴心。当盲人用读屏软件在页面某个区域内陷入循环时,我们应该感到内疚。只能说目前国内的网站对此的重视程度还远远不够,这就需要我们共同努力,让更多的人感受到我们的热情。

  保障效率

  作为项目开发中比较靠前的一环,页面开发可能需要尽早完成为项目争取时间,这就需要我们尽可能地提高效率。“工欲善其事,必先利其器”,除了实战经验和代码习惯的形成可以帮助我们提高效率外,想要提高对自己开发的进度掌控能力,还有很多辅助工具可以帮助我们进行页面开发。比如使用Less或Sass可以帮助我们拓展和组织CSS,大大提高CSS的编写效率,增加了可维护性。比如可以通过zen coding的自动完成和自定义代码块让你可以剑指如飞。甚至还见过通过自定义输入法的代码块关键字来提升开发速度的。多多发掘,一定会找到最合适自己使用的工具。

  针对服务器的优化

  页面开发也需要了解服务器的优化,尽量减小服务器负担。比如css sprite就是一个典型减小服务器请求数的例子。在网易邮箱的页面前端开发中大家不停地在做着各种优化,比如一直在寻求文件大小与服务器请求数的平衡;为了尽可能提高缓存利用率采用了补丁升级;对class名进行了混淆压缩避免命名过长的冗余;应用base64减少请求数量等等措施。这些都是综合权衡的结果,需要考虑各个方面整体优化。因为当页面访问量达到一定的数量级时,再小的一点优化都会达到可观的效果,再小的问题都可能会形成巨大的灾难。

  拥抱HTML5

  这是一个充满机会的时代,HTML5时代的来临伴随着移动互联网的兴起创造了更大的机会,还有太多的东西值得我们去学习去发现。HTML5提供了丰富的JS API接口,需要我们去研究;CSS3的绚丽吸引了足够多的眼球,需要我们去研究;移动设备上如何开发更加适配的页面,需要我们去研究……


分享到:
评论

相关推荐

    页面前端水有多深

    给自己,给页面前端的同学一起找找定位,梳理一下思路。和大家共勉。

    聊天机器人前端页面

    类似手机聊天界面的web前端,等待回复时有动画,显示聊天时间戳,页面偏深色

    【JavaScript源代码】vue列表数据删除后主动刷新页面及刷新方法详解.docx

    页面是不进行刷新的 ,采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载) provide / inject 组合 作用:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游...

    用前端页面实现个人简介!!!

    html实现自我介绍(精)

    WEB前端设计:良好的页面结构和优美网页的几点方法

    但凡从事互联网的人基本都会写几行html,用过Word的人用Dreamweaver也能做出规整的...那么页面开发还有哪些要求,还要做些什么,这里面的水有多深,让我们舀舀看。 在不同的时期对页面前端的看法似乎是多变的。在互联网

    微前端如何落地?

    只听过“微服务”,“微前端”又是什么硬核技术?它正是借鉴微服务的概念来应用在前端上,...微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为多个小型前端

    前端领域,HTML页面设计,期末作业

    后面参加了一些后续前端培训,对HTML网页的编写也有了更深的感悟。在一开始编码比现在更乱,而且毫无章法,有时候自己都忘了谁是谁的子级,谁是谁的父级。 然后就根据老师的建议写注释,特别是样式表部分,几乎每一...

    移动端web某马机构前端内部面试题,es,js

    前端页面有哪三层构成,分别是什么?作用是什么?主流的浏览器分别是什么内核?什么是深拷贝什么是浅拷贝?对闭包的理解?并能举出闭包的例子。什么是原型和原型链。es6-es10新增常用方法?怎么理解函数的防抖和节流...

    05-大事件和node阶段某马机构前端内部面试题.md

    前端页面有哪三层构成,分别是什么?作用是什么?主流的浏览器分别是什么内核?什么是深拷贝什么是浅拷贝?对闭包的理解?并能举出闭包的例子。什么是原型和原型链。es6-es10新增常用方法?怎么理解函数的防抖和节流...

    高仿饿了么前端Web页面

    4、项目写到理解更深,从注册到以后、首页、搜索、商户列表、购物列表、个人列表、中心列表、流程走完之后、对vue的深层次,而且对大型订单项目的能力也有很大的帮助,做一个实际的项目对自己有很大的提升。

    Vue超全基础知识面试题

    2.单页面应用和多页面应用的区别及优缺点? 单页面的概念: 单页面应用(SPA),其实就是指只有一个主页面的应用,类似前端现在的三大框架,React.Vue,Angular 浏览器一开始要加载所有必须的html,js css。所有的页面...

    CSS3深色滑动单页前端模板下载56l.zip

    CSS3深色滑动单页前端模板下载56l.zip漂亮的前端后台静态代码,适合选用二次开发,bootstrap结构,自适应手机电脑,非常棒的代码。

    超完整的网站后台界面设计及前端模板

    这组超完整的网站后台界面设计及前端模板,基于1440px网格设计,模板包含了60个独特的页面,2个移动仪表板和2个深色布局,拥有大量风格指南。使用这个模板,可以帮助您轻松的创建分析网站原型。 如果只有设计模板,...

    对标OpenStack社区Horizon项目,在易用性页面性能等方面进行深度优化,提供简单、易用、高效的OpenStack控制台

    OpenSkyline是一个OpenStack控制台项目,对标OpenStack社区Horizon项目,在易用性、页面性能等方面进行深度优化,提供简单、易用、高效的OpenStack控制台。 基于REST API进行业务功能设计,功能模块化设计符合高内聚...

    毕设&课设&项目&实训-基于laravel的爬虫框架,支持页面深度采集与JavaScript动态渲染页面爬取.zip

    毕设&课设&基于laravel的爬虫框架,使用 QueryList3 采集指定站点“999小说”,支持页面深度采集与JavaScript动态渲染页面爬取 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、...

    前端开发常见问题汇总概要总结.docx

    计算机科学基础:对计算机体系结构、操作系统原理、网络通信理论等理解不深,可能会影响对某些高级特性如Node.js中的I/O模型、多线程、进程间通信的理解和高效使用。 HTML/CSS问题 布局与样式兼容性:不同浏览器对...

    前端性能优化之重排和重绘

    经验越多就能理解的越深。感兴趣的同学可以看一下这篇文章,深度和广度俱佳从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!切回正题,我们继续探讨何为重排。浏览器下载完页面所有的资源后,就要...

    微前端理论和实操

    它正是借鉴微服务的概念来应用在前端上,...微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立开发

    基于html5APP前端和pyhtonflask后端的人工智能井字棋小游戏设计 .zip

    前端实现了及其细腻的动画,赏心悦目的用户界面,以及良好的异步操作性能。游戏中与人对战的AI使用Min-Max搜索,由运行在阿里云服务器上的python程序实现。前后端通信采用了现代的 A JAX CROD(ajax跨域)通信技术,...

    粉色清爽404页面模板下载是一款清爽简洁的网站404页面下载。.rar

    当用户在您的网站上遇到一个死胡同,我们的404错误页面模板能将潜在的挫败转化为一次愉悦的体验。这不仅是一个简单的错误页面,而是一段艺术,一份惊喜,一道亮丽的风景。 亮点介绍: 创意设计,将访客的失望转化...

Global site tag (gtag.js) - Google Analytics