0
点赞
收藏
分享

微信扫一扫

清晨前端感悟

    每次接触到新的技术就像发现新大陆一般,充满激动,不知疲倦。   昨天也是一口气看了之前耳朵都要听破的一些技术概念,简单的实践了一下,到半夜2点多本来想开始记录一下的,考虑到停网的原因,就今天记吧。但是每次灌输式的学习总让自己晚上在睡梦中也好似在学习,睡眠质量不高,但却很充实。先不论这种快餐式学习的好坏,单就从自身知识获取方面和主观感觉都是十分不错的。这就是前辈们所说的拿来主义吧。哈哈

    看帖子的时候,有一个帖子说到:程序员分为几种状态,不知道自己不知道,知道自己不知道,知道自己知道,不知道自己知道。我好像不是第一次看这个帖子,但是这一次的感触是最深的。   因为我感觉自己已经进入了第二阶段,算是一个初级程序员吧。   第一阶段的时候感触也挺深,也就是所谓的业余编程爱好者阶段。    我想自己大概在这个阶段停留了7到8个月,然后到了自学阶段的瓶颈,然后各种自信与自我。直到碰到一个无论是在知识的广度与深度都碾压自己几条街的学长之后,才反过来思索这些问题,考虑后期要补充知识的方向。     不过不得不说,拥有自学能力和一定基础是多么重要。各种技术上手都比较快,也比较好理解。     我估计自己在知道自己不知道这个阶段至少要待上个2到3年,这还是在保持现有良好学习环境的条件下。

    不过呢,技术这东西,一是为了兴趣(成功了可以说成事业也好,爱好也好,装逼也好),而是为了谋生。从谋生意义讲,我们不得不 去接触一些自己不太感兴趣的技术,然后慢慢的有感觉。哈哈   之前听说过前端与后端,就知道后端好,不问为什么,因为大家都这样说。   然后自己都去体验了下,怎么说了,后端更有趣,前端我认为不是很有趣,枯燥,重复,工作量大。   但是我并不是看不起前端,我害怕前端。因为我感觉到恐惧的是工作量太大了,还重复,还不好分工。    

    于是,害怕什么来什么。很多时候我没办法要去负责前端。    逼迫自己去学习吧。    结果才知道自己是井底之蛙,我之前理解的前端,根本就不能叫做前端在我现在看来。   我晚上也分析了一下其中的原因,一方面是因为自己接触不到,一方面是学校的教育内容太过于落后了,尤其是针对于计算机行业来说。   到现在了前端的课程里面就学习html5标签,css3和javascript这三剑客的基本用法。   我只能呵呵。  一学期下来啥用没有,还不能很好的运用。关于怎么学习,学习哪些,鄙人也就懒得讨论了。说说自己眼中的前端吧:

    由于Node.js的出现,使很多前端程序员变成了全端程序员,这确实是一个不争的事实。   昨日近距离感受了一下Node.js。我感觉Node.js类似于java,c 或者c++这种,因为它提供了一整套生态(但是我感觉这样好像不恰当,因为java,c是一种计算机语言,面向计算机系统了。而Node.js更像php或者jsp以及velocity,theamleaf等模板引擎吧,因为它支持http协议,而且是基于javaScript协议开发的好像,所以能够变成服务器了,而且支持负载均衡,以及爬虫的实践。)。  ok,基于这样的生态圈的一些列产品出来了,因为互联网2.0时代的到来,前端人员的需求以及任务量复杂度呈指数级爆炸式增长,新技术破土而出。      怎么说呢,还是基于高级语言面向对象的思想吧,什么封装啦,继承啦,多态不知道有没有,但是前面两个是有的。  出现了ES6标准,ES7.0标准。     

    这里先记录一下react.js吧,这是一个开发js的js吧(怎么理解呢,就是用ES6.0标准写的一些比较高级的东西,经过babel(可以将高级的转化为低级的,使得浏览器兼容)编译成ES5.0标准,然后发布js),不过在我看来最重要,最重要,最重要的在于它提供了一种组件化,可复用,低耦合的前端开发方式。这个功能就太强大了。但是他妹夫的,刚刚好像又了解到它不适合做复杂的页面,有一个直接针对他的叫binding.scala,还没了解过,但是必须去了解。

    然后有一系列的js家族,哈哈。   之前了解的一些有jquery,angularjs,vue.js,后面听说的有一些 CoffeeScript,TypeScript,ClojureScript,JSX.(是中间语言,不知道是干什么的。)前面的我现在的理解就是它们是针对ES5标准下,不用经过其他处理就能使用的,嵌入页面的脚本语言,能够对原生的DOM操作与管理。  主要运用于事件交互,AJAX,数据呈现等。相当于工具。对于它们的使用我只能说越后面出来的越简便,至少对工作人员来说是这样,他不需要或者很少考虑性能要求,只需关注任务。有的十几行代码就能解决的问题,另外的却要几十行上百行,再乘以每个功能模块,可想而知这其中冗余的工作量是有多恶心。   

        之后我觉得才算一个合格的前端工程师应有的姿态,掌握grunt(前端的工程构建,编译,语法检错),webpack(打包,构建单页面应用)。grunt功能还有很多,还没实践过。   之前一直不知道js编译还有编译打包,构建这一说。    这里举个例子,我们写js或者css的时候,为了使得我们更好的明白其中的结构,通常一行只占用几个或者几十个字符,其余全是空格。但是我们访问网页的时候是去服务站点下载这些东西给浏览器呈现,这会无端端的浪费流量与占用带宽。   另一个例子,编译会将你的结构优化,使得效率最高。    再一个例子,会将你的形参转化为一个字符的标记,因为它并不影响你的业务功能。       再举个打包的例子,你之前一个页面可能要引入3到4个js,但是只是为了实现同一个功能。但是用打包的话,可以将这几个包编译后,生成一个js文件,供你使用。  就是这么牛逼。

    最后说说为什么要用这些拿来主义的东西呢。   我认为最主要的在于协作。  随着互联网的发展,前端需求日益复杂,功能日益增多,一个人单打独斗可谓费时费力不讨好。    有了这些工具,实现你的代码复用,使得分工简便,同时能够提高网页性能。何乐而不为。    

    最后,不论是前端后端,学习知识本是一种人类文明的高度体现,另外也是为了谋生。    后面的计划是前端铺开,基础完全不够,狂抓基础。   后台继续深入,深入到源码级别,但是不代表一行一行,一个类一个方法的去读完,而是理清时隙图,同时配合源码,分析设计模式与思想,只有这样才能算作真正的学习掌握,才能在自己的职业生涯或者人生走的更高更好的实现人生价值。    同时,上课时间继续铺开技术的广度。     实践的话会安排到这个学习的主线任务,空余实践做支线任务。  o了,补个回笼觉。


举报

相关推荐

0 条评论