【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

专访《HTML5 移动 Web 开发实战》作者石川:开发者如何承受前端开发之重

  • 2013-08-21
  • 本文字数:2074 字

    阅读完需:约 7 分钟

引言:现在的用户对于前端越来越倚重,人们越来越多地用网络分享信息量大、功能性强的应用。因此,对于开发者来说,前端的责任越来越重大,开发者面临的困难也越来越大。甚至原来一些在服务器端的工作也被迁移到前端来完成。近日,InfoQ 的编辑专访了在前端开发具有丰富经验的石川,在这篇文章中,他给广大的前端开发者一些建议和经验分享。

InfoQ:我们看到,这几年有一个趋势,就是大量原本在服务器端的工作——尤其是展现层的工作——被转移到了前端,由浏览器来处理了。HTML5 不仅是 HTML 语言 +CSS+JS,还包括了离线存储、应用缓存、文件系统等大量原本操作系统才能享受到的资源。对于这样一个趋势,您是怎样看的?您觉得这个趋势背后的推动力是什么?

石川:我觉得最大的推动力还是用户的浏览器使用趋势。现在人们用网络分享大量的信息,分享 PPT,设计文件,阅读电子书,看视频,阅览高清图片,存储办公文件等,这些都是信息量大、功能性强的作业,所以自然会不断增加前端功能的复杂性。

InfoQ:由于被赋予了更多权限,前端的责任也更重大了。现在,只会玩几个框架则已经无法满足新的业务需求了。您建议现在的前端工程师在哪些方面去进行积累?包括语言、工具、框架、思维方式等方向,都请您谈谈。

石川:第一语言。多研究传统语言,例如 C++,肯定会有助于你获得灵感,特别是现在前端的开发取代部分以前桌面语言开发的功能。就 HTML5 来说,最好订阅 W3C working group 的群发邮件,这样可以吃透语言的特性,增强交流。

就我个人而言,我有每天读完一本书的习惯。科技方面的书没有那么频繁的出版,所以每周读一本科技的书也是对语言系统学习的好帮助。

第二工具。每天的生活是用秒计算的。工具上来讲,应该尽量利用插件,其带来的好处节省重复性的工作是非常重要的。并且,尽量每天花 5 分钟了解下:所用工具是否推出了什么更新版本;第三方推出了什么所用工具的插件;有什么同类工具,对比是否有什么好处;积少成多,慢慢地这样大大增加了开发效率。

第三框架。在 github 上订阅一些常用框架的信息,了解最新的框架改动。国外优秀的开发者都是挂在 IRC 上的,跟着他们一起编写框架,这样可以学到很多东西。如果在工作中,使用框架,发现自己有更好的解决方案,就及时提交 pull request。

第四思维方式。就思维方式而言,真的是要对产品由衷的热爱。其实我觉得如果条件允许,最好拿一些初级的网站进行练手,包括从文案、设计、开发都系统地做一下。这样做更容易发现问题。

InfoQ:对于 Java 开发者,可能 Eclipse 是一个常规的开发工具;对于 Ruby 开发者,可能 RoR 是首先会考虑到的一个框架。使用常规工具和框架虽然不一定在任何场景下都最优,但有很多的好处。对于前端而言,目前 jQuery、Bootstrap 算是业界非常通用了,不知道开发工具这方面现在主要用什么?

石川:Sublime 应该算是一个比较通用的编译器,如果是编辑一个浏览和网站的话,这个工具本身功能已经足够好。再加上对插件的支持和强大的第三方插件开发,基本解决了能想到的重复型工作。

InfoQ接上一个问题,现在国内的几个大互联网公司有一个情况,就是他们不用通用的 jQuery、Bootstrap 这样的工具,而是自己搞一套工具出来,这几家公司内部的工程师对此也有不少抱怨。您对于这样一个情况的看法是什么?

石川:这个问题我们可以从两方面看:

一方面,从国内行业横向对比的角度来看。平心而论,能够真的花心思从头到尾独立研发的精神真的很稀缺。比如很多实业,都是一个“壳儿”,技术都是国外的,在销售、渠道、终端为王的时代,很少有人愿意从头到尾仔细做一件事了,所以国内互联网企业的工程师愿意花时间开发一套框架、工具这种精神,在大环境下,还是很可贵的,值得尊敬。

另一方面,纵向来看国内外的互联网行业。问题关键点可能主要在于开源本身是一个“众创”项目,而中国的开源项目没有和国外的工程师互动,这里面有语言、文化和习惯的问题。所以我觉得国内的公司推出一些独立研发的框架不是问题,问题是 1. 尽量用一个独特的切入点,在工作中的某些问题积累出的一套解决方法开发出框架;2. 怎么更高调的在国际开发者圈宣传出去,让国外开发者也了解并加入进来。

InfoQ越来越重的前端在带来了好处的同时,也带来一些问题,例如,移动端的浏览器还没有 PC 浏览器那么给力,前端写的重了,在手机上很难用起来。对于这一个问题,您建议采用什么样的短期处理方案和长期处理方案?

石川:无论长短期,都要根据产品来看,要是通过产品或后台数据分析,得出结果是来自移动端的客户占有很大比重,条件允许的情况下,最好给移动端一套不同的 CSS 和 JS。这个用现有技术已经可以很容易从前端或后端检测用户使用的操作系统,如果发现用户使用的是手机浏览器,加载一套不同的 JS 和 CSS,这样不仅是考虑速度,更是根据用户体验的不同来处理这个问题。

嘉宾介绍:

石川,一个出色的前端开发框架 HTML5 Boilerplate 项目的核心成员,个人著作《HTML5 移动 Web 开发实战》。现在是北京喜感信息咨询有限公司的运营经理。曾经在 2012 年接受过 InfoQ 的采访,见《专访 HTML5 Boilerplate 项目核心成员——石川

2013-08-21 17:534273

评论

发布
暂无评论
发现更多内容

netty案例,netty4.1高级应用篇二,手写RPC框架第二章《netty通信》

小傅哥

Netty 小傅哥

一个实用的开源项目,可以快速将 Elasticsearch 数据导出到 csv

AlwaysBeta

Python 数据库 elasticsearch Kibana Lucene Elastic Search

Spring的Controller是单例还是多例?怎么保证并发的安全

简爱W

netty案例,netty4.1源码分析篇一《NioEventLoopGroup源码分析》

小傅哥

Netty 小傅哥

Week10--课后作业

Geek_165f3d

深入浅出Vert.x架构

dinstone

Java 约束注解

HeGuang

netty案例,netty4.1源码分析篇二《ServerBootstrap配置与绑定启动》

小傅哥

Java Netty 小傅哥

世界正在重塑 加密货币将扮演什么角色

CECBC

数字货币 加密货币

8锁问题

HeGuang

synchronized

oeasy 教您玩转linux010101查看内核uname

o

netty案例,netty4.1高级应用篇三,手写RPC框架第三章《RPC中间件》

小傅哥

Netty 小傅哥

大数据技术思想入门(二):分布式存储集群特点

cristal

Java 大数据 hadoop 分布式

Week10---课后总结

Geek_165f3d

区块链的共识机制有哪些好处优势?

CECBC

区块链 分布式 金融

JDK8 日期 API 使用

HeGuang

JDK1.8

牛逼操作,ThreadLocal还能当缓存用

简爱W

Java

我,一个当代普通大学生的自述

有梦的咸鱼

个人成长 大学生日常 个人感悟 讨论写作

【数据结构与算法】力扣实战之移动零、盛最多的水、爬楼梯

三钻

算法 大前端 LeetCode 数据结构与算法

spring事务的这10种坑,你稍不注意可能就会踩中

简爱W

阿里内部流传的Mybatis笔记终于流传出来了,赶紧收藏

简爱W

都2020了,你的APP还不能运行小程序?

FinClip

小程序生态 私有小程序技术

netty案例,netty4.1源码分析篇五《一行简单的writeAndFlush都做了哪些事》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1源码分析篇六《Netty异步架构监听类Promise源码分析》

小傅哥

Netty 小傅哥

做职场里的“超级英雄”,需要怎样的盔甲与工具?

脑极体

netty案例,netty4.1源码分析篇三《Netty服务端初始化过程以及反射工厂的作用》

小傅哥

Java Netty 小傅哥

数字化背景下的经济社会发展的新特征 新趋势

CECBC

区块链 人工智能 大数据

一款高仿 Eyepetizer | 开眼短视频的 MVVM 开源项目

vipyinzhiwei

android kotlin 短视频 eyepetizer 开眼

netty案例,netty4.1源码分析篇四《ByteBuf的数据结构在使用方式中的剖析》

小傅哥

Java Netty 小傅哥

书摘之《堂吉诃德》—— 谁不曾想过仗剑走天涯?

小匚

读书笔记

这么理解业务架构就对了!

周金根

BIZBOK 业务架构

专访《HTML5移动Web开发实战》作者石川:开发者如何承受前端开发之重_HTML5_涂兰敬_InfoQ精选文章