接触了前端,下面记录自己对前端的一点体会。记得大学时候是很害怕写页面的,总被大量标签和css 吓得无从下手,现在看来是由于当初不懂得如何学习新技术,没有给自己定制合适的step by step 入门学习。希望学习前端能开拓自己视野,对技术认识更深一层。
前端入门
- Html+css 页面结构,上色(10%),两周时间差不多就能熟悉。
- js(90%),得花大量的时间。
- 需要编程思维
- 简单的框架应用,jQuery + bootstrap,简单逻辑,动画
- es6 –> vue(中小company),react(大company),angular(国内较少)
- 完成1 2,可工作,根据熟练程度可达初中级前端工程师的水平。
学习js 需要慢慢积累打好基础,就不难。第一次看觉得懵逼,第二次能理解一些,第三第四次慢慢的明白是怎么回事,这种感觉就对了。
通过上面3步的学习,实现功能是没有问题的。但是没法优化,一般实现方式有
- 前端方式,比如缓存,压缩,离线存储,加载延迟等。
- 非前端方式,比如Vue里面 css/js合成一个很大的文件,加载页面有一段空白时间,利用前端方式是没法优化,的需要后端渲染。这是时候要去学习 node.js
前端做什么
- 偏向设计
- html + css + js ps
- 绘画功底
- 实现UI设计图
- html+ css+ js基础 ps
- vue/react/angular 会其中一个
- npm 包管理工具
- 游戏,H5/微信小游戏(作业能力必须很强)
- html + css + 原生js一定要强
- Cocos2d.js
- web storage
- webGL
- websocket
- 偏向后端的前端,全栈–>node工程师
- h + c + j
- node.js
- mysql
- monogDB/redis
- 集群cluster
- pc前端,类似 钉钉
- NW.js
- 移动端的前端,手机,不想同时开发Android ios App
- h+C+j
- 框架
- node
- npm
- 手机兼容性,屏幕适配(必考必问)
- 调试chrome
- 微信小程序
学习方式
- 查在线资料,看文章或者在线视频,比如麦子学院/极客学院/慕课/极客时间。参考里面的学习步骤,给自己规划适合的step by step 入门实践(很重要)
- 自学,找一个会的人监督你学习(很重要)
- 安排任务
- 解决问题
- js基础太差别着急用框架,就算是通过面试,对框架很依赖,也用不好
- 学习周期别拉太长,写代码写到安心再去睡觉,哈哈
初级–>中级的一些瓶颈
- 代码质量太差
- 变量命名
- 文件目录
- 代码冗余,只是实现功能
- 扩展性太差
- 逻辑不清晰
- 测着,测着就通了,不想再看自己的代码
- 定位问题慢
在思维上意识到了阻碍自己进步的地方,会有一种豁然开朗的感觉,但想要有所进步还是得靠实践,可以从下面几点做起:
- 优化代码,成长更快
- 优雅代码的养成
- 可扩展性,1个是1个类型,2个是2个类型,>2就是1个类型
- 模块化
- 阅读源码
- 京东/天猫/携程的页面源码,js/css分开,腾讯不建议(命名奇怪)
- github上引入插件–使用插件–修改插件
- 阅读自己曾经嫌弃的框架,bootstrap(透明规范)/jQuery
我觉得在中级会遇到的瓶颈和改善方式不仅适合前端,在其他技术方向也是一样的。中级到高级离自己有距离,不太懂。但从接触的同事建议说,
- 别框架追星,业务合适才最重要
- 开阔视野
这就是一些关于学习前端的体会,欢迎大家给我留言,提建议,指出错误,一起讨论学习技术的感受!