编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

前端进阶,提高技能(前端如何快速提升自己)

wxchong 2024-10-07 17:03:53 开源技术 12 ℃ 0 评论

有了前面文章的基础之后,前端基本算是入门了,可能每个人心中都有了一些学习方向,如果还是没有。

可以参考前面必备技能部分提到的那两个项目,从里面选一些进行发展学习。以下是一些不错的方面:

  • Grunt:前端自动化工具,提高工作效率

  • less css:优秀的CSS预处理器

  • bootstrap:优秀的CSS框架,对没有设计师的团队很不错,与less结合使用效果完美

  • requirejs:AMD规范的模块加载器,前端模块化趋势的必备工具

  • Node.js:JavaScript也可以做后台,前端工程师地位更上一步

  • AngularJS:做Single Page Application的好工具

  • 移动端web开发:智能手机的普及让移动端的流量正在逐步赶超PC端

  • Javascript内存管理:SPA长期运行需要注意内存泄露的问题

  • High Performance JavaScript(Build Faster Web Application Interfaces)

  • Best Practices for Speeding Up Your Web Site:重要技能

一些学习的历程分享给大家,

欢迎共同交流前端技术,共同进步前端技术免费分享213126486,编号糯米

工具

  • chrome dev tools:前端开发调试利器,着重注意几个功能:

  • liveload: 修改页面后自动刷新,不用按F5

  • dimensions:直接在页面上测量的利器

  • livestyle:css样式修改后自动起效果,不需要刷新,elements修改后也能同步到代码中

  • image tool:测量,取色

  • UC二维码:移动端调试扫码必备

  • pagespeed,YSlow:页面性能分析和优化插件

  • 马克飞象:优秀的在线markdown编辑器,快速写周报,做记录

  • watch expression:通过表达式查看当前内存中的值

  • call stack:查看调用栈,开启async,可以看异步调用栈(这个非常有用,尤其是ajax调试的时候)

  • scope variables:作用域链上的变量,非常有用

  • console(废话)

  • elements:元素样式调整,很常用

  • sources:代码中添加断点,单步调试,以及单步调试过程中查看内存中的对象

  • network:抓包查看每个请求,非常重要,前后端联调必备

  • timeline:分析渲染、js执行等等各个阶段,性能优化利器

  • emulation:模拟移动端环境,mobile页面开发必备

  • 一些插件:

  • sublime text3:编码方便,插件多,速度快,性能好

  • emmet:提升html编码速度必备

  • sublimelinter + 各种语言的lint和hint:代码纠错

  • 一些snippets:自动补全,提升开发效率

  • Intellij IDEA和WebStorm:集成开发环境,集成了各种功能,开发比sublime要方便,但会比较吃性能

  • Mark Men:测量、取色、标注利器,拿到视觉稿之后第一个打开的软件

  • GFW Fucker:我用红杏,可以的话买个虚拟服务器当梯子

  • iHosts:非常优秀的hosts管理软件,轻松修改hosts,开发调试必备

  • Charles:Mac 平台最好用的抓包分析工具

  • Rythem:AlloyTeam出品的代理抓包软件,非常轻量,安装简单,移动端(真机)开发调试很好用

  • Wunderlist:一个非常不错的Todo List,任务、需求多的时候管理起来很方便

技能

前端的技能其实除了JavaScript(包括NodeJS)、HTML、CSS以外,还有很多。其实前端的技能树很大,这里只能列一些我开发中见到的说一说

语言基础

JavaScript:

* 作用域链、闭包、运行时上下文、this

* 原型链、继承

* NodeJS基础和常用API

CSS:

* 选择器

* 浏览器兼容性及常见的hack处理

* CSS布局的方式和原理(盒子模型、BFC、IFC等等)

* CSS 3,如animation、gradient、等等

HTML:

* 语义化标签

进阶

JavaScript:

* 异步控制(Promise、ES6 generator、Async)

* 模块化的开发方式(AMD、CMD、KMD等等)

* JavaScript解释器的一些相关知识

- 异步IO实现

- 垃圾回收

- 事件队列

* 常用框架使用及其原理

- jQuery:基于选择器的框架,应该算工具库,因为不具备模块加载机制,其中源码很适合阅读钻研

- AngularJS/Avalon等MVVM框架:着重理解MVVM模式本身的理念和双向绑定的实现,如何解耦

- underscore:优秀的工具库,方便的理解常用工具代码片段的实现

- polymer/React: 组件化开发,面向未来,理解组件化开发的原理

CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的流程和绘制原理

* DOM树、CSSOM树、渲染树的构建流程及页面渲染的过程

* 解析HTML、CSS、JavaScript时造成的阻塞

* HTML5相关

- SVG及矢量图原理

- Canvas开发及动画原理(帧动画)

- Video和Audio

* flex box布局方式

* icon fonts的使用

常用NodeJs的package:

* koa

* express

* underscore

* async

* gulp

* grunt

* connect

* request

一些理念:

* 响应式Web

* 优雅降级、渐进增强

* don’t make me think

* 网页可用性、可访问性、其中的意义

* SEO搜索引擎优化,了解搜索引擎的原理

* SPA的好处和问题

性能优化:

* 减少请求数量(sprite、combo)

* 善用缓存(application cache、http缓存、CDN、localstorage、sessionstorage,备忘录模式)

* 减少选择器消耗(从右到左),减少DOM操作(DOM和JavaScript解释器的分离)

* CSS的回流与重绘

项目

  • 版本管理:首推Git,用过Git都不会想用SVN了

  • Git:本地版本管理的机制

  • SVN:远程中心的版本管理机制

  • 自动化构建:主要就是less、模板、coffee等的预处理以及对代码压缩和合并

  • Gulp:基于流构建,速度快、模块质量好

  • Grunt:独立任务构建,速度慢,配置蛋疼,灵活性高

  • 预处理和模板引擎

  • less:语法简单,但功能有限

  • jade、ejs、velocity等模板引擎,各有各的长处

  • coffee:python工程师最爱,我没用过

  • 环境搭建:主要是将线上代码映射到本地,并在本地启动一个demo服务器,至于模拟数据的mock,见仁见智了

  • 本地代理:ihosts

  • 自动化测试:在业务较为稳定的情况下,可以通过自动化测试来减少测试的事件,但需求较多的时候,维护测试用例的成本会很高,可能用自动化测试会起到反效果

  • jasmine

  • mocha

  • 生态系统

  • npm

  • bower

  • spm

  • 搭建一个属于自己的博客

  • git pages

  • hexo

  • jekyll

未来

  • Web Componets:面向未来的组件化开发方式

  • HTML模板

  • Shadow DOM

  • Custom Elements

  • HTML Import

  • 移动端Native开发:这也是需要了解的,以后前端工程师会经常地和webview打交道,也要了解native开发

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表