我的开发世界-聊聊前端(一)

来源:互联网 发布:阿芙护肤品怎么样知乎 编辑:程序博客网 时间:2024/05/17 08:40

        最开始接触前端的时候,用的基本都是JQuery,对于整个前端的开发已经将DOM操作植入骨髓,我相信很多人跟我一样,我也相信很多人已经将DOM操作用的出神入化。我对前端技术什么时候开始井喷式的爆发的时间有点模糊,也许是从09年angluarjs的诞生(其他更早期的框架不说了,毕竟angularjs是最具代表性的)。那时的我还没接触开发,当我在12年接触javaweb开发的时候,周围也没人提起使用angular这类新型的框架,到了14年下半年我身边有人尝试在项目中植入angularjs,我当时也是好奇,随便看了看,完全看不懂,我当时觉得我开发前端还算挺熟练的,咋一看angularjs代码根本看不懂啊,MD,这是什么玩意儿,加这个进项目有必要吗?没有它我不是开发的好好的,的确,没有它,我web项目一样开发,于是我经常在组里说这些框架没什么必要,也是,用习惯了JQuery谁想去改变,用习惯了jsp等模板谁还想写纯html,那时对外面的世界太无知促使我现在不断地学习知识。
        后来我面试了很多家公司,让我开阔了眼界,很多东西是我没听过的,没错,我脱离了开源社区,作为一个跟随时代脚步的开发怎么可以没有github、很多知名博客这些账号。于是我跟随时代的脚步,脑补了很多知识。以前一直以为自己技术很不错,是的,对于以前项目中使用的技术是不错,但是只井底之蛙。
        知道自己的不足之后,我逐个去搜索,去写例子。我给自己的定位是全栈开发工程师,而这里我只说说我对前端这方面的,我尝试了如今前端很多js框架和js库,最后我使用到实际项目中的是angular1和reactjs,使用angular1是出于我当初的无知,使用reactjs是出于我对这个框架的喜爱,他是我见过真正意义上的组件化开发,而且页面所显示的内容就是一个状态的表现,几乎不需要dom操作,完全通过状态来决定页面上该显示什么。我这里把JQuery理解成面向过程编程,把reactjs理解成面向对象开发,举个例子,你在网上买东西,你买东西是一个状态,你收到东西是一个状态,这当中发生了什么不需要你知道,而利用JQuery的思想就是我这个快递在哪辆车哪辆飞机上啊,然后哪到哪,然后谁给谁,这都要你进行一边操作,相当繁琐,react就像java调用其他组件一样,我不关心你内部操作,我传什么东西给你,你回给我什么,就这么简单,当然一旦使用reactjs开发上手了,你会很容易会上瘾,再让你开发以前的项目你就会出现抵抗和鄙视的心理,前提是你会上手,会真正理解。这里没有贬低任何一个技术,JQuery很强大,它就好比当年的诺基亚,现在使用JQuery的项目量还很巨大,覆盖率极广,我也是一个JQuery开发的过来人,我曾经很喜欢它,现在留给它的是尊敬,它造福了很多人。
        我遇到过很多开发说什么reactjs、vue.js、node.js、angularjs等等很容易上手,说什么一两周,一两个月,有夸张的说几天,我自认为智商还不算太低,我觉得说这样话的人,也就会写几个demo,会写几个简单的项目,而拿到实际应用中给他出这个需求出那个需求,他又开始头大。我想说的是,不要随便说哪个技术简单,在你说简单的时候很可能错过了品味它芳香的时候。
        现在的前端说实话,让我大呼过瘾,大量的人才涌入,大量的人才将自己的技术open,真正的共产主义社会啊。
        再说说现在前端有没有改变,有没有必要跟随时代发展。有些人希望保持原样,有些人希望改变。保持原样没有错,可以保住当前的项目利益,但是你投入的却是很多的后期成本。就拿前端进行前后端分离式,然后利用react相关技术栈进行开发,你会发现,你前期投入的很多,你后期获得的更多。我做项目经常遇到这样一个问题,举个例子,我花一个月的时间开发一个项目出来,我却要花3个月时间在上面改动。累!用了react后,我可以很方便的复用,替换,都很方便,极大地提供了后期开发,而且进过类似于webpack、rollup这类打包工具打包后,大大地降低了文件的大小,在利用nginx作为前端静态文件的服务器,在加上每天都有人向npm上发布共享自己的代码,多么美妙地前端工程化、开放化开发方式,我现在爱上了它。