步入前端已经一年了,是时候写个总结了。一个自不量力的承诺,我步入了前端。
去年的10月份来到北京寻找工作,在面试中,总经理问我,能否仿照某网站做出一个官网来,我那个时候连jquery都写不熟练,甚至都不会写,css没有学过,html也知道的可怜,但由于我特别喜欢这个公司,所以当时自不量力的说我可以,于是开始了我人生的前端开发。现在回想起来,真的很庆幸当时的自不量力。人生是需要一些自不量力的,万一实现了呢。
去年的10月份,我的能力确实是如此,去年毕业开始从事javaweb开发,还不分前后端,什么都学,导致我什么都没学会。来到北京后的这个公司,开始从事前端开发。最先开始的工作是用jquery,css,html来搭建我们的官网,加上修修改改,前前后后,用了大约两个月的时间。这两个月的时间熟练使用了,jquery,css,html。然后开始转战公司的IOT(Internet Of Things)项目前端开发,IOT项目用的是时下比较流行的技术,html5,angular1.x,bootstrap3.x,requirejs,gulp,nodejs,npm,bower,图标字体等等,刚进入这个项目,真的是一头雾水,最开始看了好多天的《用Angularjs开发下一代wen应用》,但还是没什么头绪,后来按着我司大神的代码,复制粘贴修改,做个简单的页面,有不懂得就问大神,就这样开始一点点的起步。这里有一点需要注意的是,尽量结合实践学习。纸上得来终觉浅,绝知此事要躬行。
就这样开始学习angular,bootstrap,总是会遇到各种各样的问题,不停地百度(那个时候我还不用Google),总是会烦扰大神,每天都加班学习,一般都是8,9点上班,晚上9,10点下班,我喜欢这样的工作,在能吃苦的年纪,不要选择安逸。要知道功夫不负有心人,这句话是对的,随着时间的推移,我掌握了越来越多的知识,遇到的一个个问题,都一个个的被解决,渐渐地能熟练的在当前的框架下面写代码,虽然还是不懂这个框架深层原理,至少实现产品功能已经没有太大的阻力。这个时候大约是今年的4,5月份了。
这个阶段,我开始看一些基础书籍,《JavaScript权威指南》,《Html5程序设计》,《疯狂Html5/css3/javascript讲义》,《响应式web设计》,《移动优先与响应式设计》,《Bootstrap实战》等,这些书籍大约都是这个阶段开始深入学习的,对前端的基础有了更深入的学习掌握。比如要重视响应式设计,移动优先准则,h5的新元素,css3的新特性,js的原型,闭包,设计模式等等。
后来加入我司ARK产品的前端开发工作,并开始独立负责这个产品的前端开发,这又是一个新的从无到有的项目。这个阶段我把以往学到的技术都应用到这个项目中,但有一点是没有适应手机,因为PC端的网站去适配手机还是会有很多的问题,看了阿里云,天猫等网站,他们都是单独做的手机端的网站,这个后期我想我们也要单独做这种适配。这个阶段也遇到了很多问题,但大多都是一个人去解决,要知道能自己完成的尽量自己完成,实在弄不了的或者会影响产品发布时要请求他人,每个人的时间都是宝贵的,没有人有责任义务愿意花很多时间来教你,成长更多的是来自于内心的渴望,而不是外界环境的施压。这个阶段主要学习了nodejs,webpack,canvas(可能大家都比较熟悉的是知乎的背景就是一个canvas),javascript设计模式(这个还是很有深度的,目前还没能全部学会),并且自己写了个nodejs的项目已开源到GitHub,还主要学习了很多的教学视频,推荐一些app,《极客学院》,《慕课网》,《百度传课》,《网易云课堂》,《麦子学院》等这里面都有很多的前后端的知识视频教学,能学习到很多知识。
最近,ARK产品已经收尾,又要开始新的产品,新的征程,这次是我自己搭建了前端框架
JS框架:Angular1.x
html/css框架: bootstrap3.x
模块加载器兼打包工具:webpack
css预编译器: sass
包管理器: npm
后期会更加详细的介绍这个前端框架,这里要说的是sass和webpack,其他的都是最熟悉不过的了。sass距今已经至少4,5年了,已经很稳定并且得到广泛好评,应用很广,大家可以自己百度。webpack是2015年最火热的前端项目模块加载器兼打包工具,可以把各种资源作为模块来使用和处理。今天的webpack更加稳定,而且一年来的时间,webpack社区发展丰富了很多内容,几乎你遇到的任何问题,社区都会有答案。于是今年我引入了这个工具,这个工具有很多的优点,它的目标是:
Split the dependency tree into chunks loaded on demand
Keep initial loading time low
Every static asset should be able to be a module
Ability to integrate 3rd-party libraries as modules
Ability to customize nearly every part of the module bundler
Suited for big projects
这些目标的实现让它成为最优秀的工具,这些是其他工具所不能达到的。它还有如下优点:
支持AMD/CMD规范
能模块化的不仅仅是js,包括CSS,Json,scss等等
开发便捷,能替代部分gulp/grunt的工作,比如打包,压缩混淆,图片转base64,scss编译,热加载等等
经过一年多的迅速发展,有了更多的插件,扩展性强,插件机制完善
可以通过配置打包成多个文件,有效利用浏览器的缓存功能提升性能
内置source-map,即使打包到一起,也方便调试
网上也有很多的webpack,gulp,requirejs等的对比,大家可以自行搜索查看。
所有的工具都是为了解决时下项目的某个痛点,使开发人员更加敏捷的开发,大可不必追求最火热的技术(比如当前最新的ng2.x,vue2.x等,这些可以自己先写写测试),因为会有很多不确定因素。时下正是前端时代,日新月异,发展速度 飞快,每天都有新的库或者插件产生,Javascript也是github上面最火热的语言,这是一个混乱的时代,这是一个好的时代。作为前端开发者,我们要抓住、珍惜这场机遇,首先最重要的是把基本技术打牢,然后不断进取,稳步向前,追赶我们的时代。
年初的计划还有多少没有完成?是时候做最后的冲刺了,对我而言,这是我前端的第一年,我的一年职业规划就是把基本技术熟练掌握,还有两个月,准备要再多学习巩固一些基本知识。
首先谈一个不太相关的观点:我认为,个人的努力在浪潮之下作用不大,而且无法改变整体局势。看过浪潮之巅,深刻感受到企业沉浮很多是看势的。乘风而起,随潮而落,有些公司,大家都很喜欢,然后 GG 了
看到很多PHP程序员职业规划的文章,都是直接上来就提Linux、PHP、MySQL、Nginx、Redis、Memcache、jQuery这些,然后就直接上手搭环境、做项目
行业的发展必然带来职业的细分,在前端领域也一样,目前行业前端有下面这几个方向:界面展现用户体验和可访问性方向、偏后的js/nodejs开发方向、audio/video音视频富媒体方向
一转眼,毕业已经快10年了,10年前我在写页面,10年过去了,我还在写页面。这种情形目前并不多见,无论是我的前辈或者是同一年代入行的同辈,几乎都已经脱离一线了,至少我认识的那些都是如此。
这世上没有完美的工作,更没有完美的人才。一切看似光鲜亮丽的背后,都是不为人知的心酸与孤独。你只看到别人生活质量提高的一面,但只有他们自己知道,工作是如何把他们折磨得面目全非
要创建软件,您需要程序员。不幸的是他们很昂贵,还懒惰,几乎无法控制。他们创建的软件既能使用也可能不能运行,但您仍需每月支付一次工资。当然,支付更少的钱总是更好。然而,有时他们可能会发现他们的薪水过低并且退出了
大多数野生程序员最棘手的问题就是如何依靠技术解决温饱,通俗来讲就是技术折现的问题。如果是单纯出于兴趣,或者只是为了突击某一阶段或者某一项目技术壁垒,不跟就业挂钩的自学倒也是无关痛痒。但是当上岗成为自学的终极目标和结果时
这些朋友都有一个共同点,他们都是靠自身技术吃饭的,在办公室里完成自己的工作,然后每个月拿一份还不错的薪水。重复性的工作、无聊的业务、没有挑战的工作等等因素,让他们不想在当前的环境中继续下去,想要出来自己做点事情
本人从事前端6年了,目前在广州从事架构师。业余总结了很多学习资料,在不断总结的过程中提升自己的技术水平,跟进时代的发展
蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!