系列介绍
15年后台开发,热爱技术。但是无奈于做了很多年后台开发,对前端的东西知之甚少。
曾经刚入行还用dreamwaver这些软件做过html,js和css。到后来做过jsp,然后jsp已经不算是纯粹意义上的前端技术了,而是被归于后端技术。
再后来的后来,发现自己早就已经跟前端说再见了。因为发现现在前端基本上离不开node.js或者说是npm的环境了。而自己之前在机子本本上搭建一个npm的环境都报错。
最近公司给机会,让项目组的前端老大们做了几个training,让我们渐渐入门React。
所以籍此机会,会慢慢发布关于React学习的历程。因为发现自己摸索很久,还不如有个懂的人一语道破。所以用这样的机会记录一下自己宝贵的学习经验。有兴趣的朋友也可以一起学习,共同进步。知识是第一生产力,共勉!
一下就是后面我们要讨论到的学习路径:
1. 后台眼中的前端技术
2. 初入前端江湖,环境搭建
3. React介绍 - 给爷来个Hello World
4. React组件
5. React props & state
6. React Hooks
7. React测试
8. React Reducer
合理利用博客,我们就在此谈谈第一部分,后台开发眼中的前端技术
后台眼中的前端技术
我不是做互联网开发的,我的理解是互联网开发的大咖们一般都是全栈吧。他们需要快速响应互联网和相关业务的趋势然后最快速的构建系统的前后端以适应飞快的互联网节奏。所以996这类基本上都是互联网工程师们的专利。
我是做业务软件后台开发的。作为业务软件,后多公司有明确的前后端的岗位。很多业务软件近几年都他提出了前后端分离的方案。所以前端有前端的岗位,后端有后端的事情。作为后端,我的职责就是做好每隔一个API及相关API的后台逻辑。然后将成品API提供给前端,让前端调用后能得到他们期待的数据结构。(可以是string,xml,但通常来说现在流行的框架中建议的是给前端json文件作为输出)。前端获取数据结构后能够利用前端技术渲染到自己的页面上去。
在接触React之前,前端的一切对我来说是陌生的,神秘的,不可预知的。因此通常作为后台的我很不理解前端的做事方式。有时候我们修改了API的输出结构,前端会有抱怨。当时我的想法就是,不就是多了一层结构吗,你们前端也去除这层结构不就行了,这样你们还说很难实现?
姑且不论前端工程师眼中我们后端像什么,反正我们后端开发很多时候觉得前端所作的东西无非是显示,有时候看起来很炫酷,但是技术也就那样,我给你东西,你把他给我按照HTML格式显示出来,加点CSS,利用js加点动态效果出来。这就是他们的工作。
然后我又对前端的一些东西另眼相看,例如他们能够流利的利用javascript写出一大段难以解读的实现。让我发现这个如此不面向对象的东西到底实在讲一个什么故事。这与Java后台的面向对象和层次分明面向对象的结构不同。作为后端Java开发,非常熟悉后台代码的结构。什么MVC,什么MVVM,什么JavaBean,都是非常有面向对象的思维方式的。一个对象有它的属性和方法。一个方法隶属于控制层,还是服务层,还是持久层....这些规范清晰可见。
然而,那个javascript的function,我去,臣妾做不到啊~~~有些function几千行,都不知道谁在调用谁,哪里是回调,那个属性在哪些作用域能够用...甚至方法什么时候执行我都不清楚。
这就是作为后台开发对前端的印象,炫酷的东西是有的,做出来的东西视觉清晰可见。不像后端的代码,你说如果有API还好,至少能够通过一些测试工具(Postman或者浏览器自带诊断工具)看到API的输入和输出是什么。如果这个方法没有API,仅仅是内部流程的一块或者是batch job的一部分,还真不好说能够立刻让客户看到你做的是什么。
然后从语言结构来说,前端js的强大有目共睹,但是代码不是太容易解读。可能需要有强大的语言功底。(相信我,接触的语言多了,就会领会到万剑归宗的赶脚)但是我发现近几年来,js也开始了面向对象,一个闭包里面也可以按照面向对象一样定义它的属性和方法。然后作为对象被其他js代码读取。所以这个对我来说感觉很爽。
话不多说,作为一个引子,希望大家知道,前后端都是为业务服务的,没有贵贱高低之分。更没有门户之说。作为以后后台学习前端知识还是很有趣的历程。我会在接下来的章节中说明。