框架是个什么东西?

今天刚看完了 MDN 关于前端的系列文章,加之最近也有尝试手撸一款PHP框架。聊一聊,未尝试自研框架之前,之后,以及看完 MDN 的文章之后各自的感受。

我培训班出身,本科专业也与计算机无关,算是换行。大致是这样的一个背景情况。

培训班更多的是教具体,比如 HTML 各个 element 如何使用,CSS 的样式如何写,字体大小如何调整,颜色如何调整等等,相当实际,以能做事为终极目标。

半年的培训完之后,能够使用TP5进行后端逻辑开发,配合一般的前后端页面使用。刚进入公司,有一段时间,自我感觉相当良好,TP5框架用的越来越多,对各个函数,SQL语句的生成写法都越来越熟悉,感觉自己有很大的进步。

2-3个月之后,事情就开始变得枯燥和无聊,经过一段时间,想要去学习框架源码,深入了解TP5究竟是如何运作的。尝试过多次,顺着 index.php 的代码,一行一行往下看,每每跳转、嵌套好几层其他文件之后,就开始迷糊,关系一乱,就看不下去了。就这样反反复复,来来回回倒腾了好多回,最终还是放弃了,忒受罪。

这算是自研框架前的感受,感觉框架之难,简直就是难于上青天。

这样过了一段日子,心里还是放不下这个事儿。一天,灵光一闪,我何不自己写一个框架呢?复杂的咱不会,写个最简单的总归是可以的吧(加上当时,正在看《程序是怎么跑起来的》,让我从另一种角度看到了,原来计算机还可以这样去理解,好像也挺简单),就这样,开始从一个框架研发者的角度来思考。

这种角度的转换,让我收获极大。

对于框架的认知变了,框架不再是一个神秘、神奇的东西,框架其实就是一个工具包,不同框架的区别只是在于这个工具包中工具的多寡而已,工具的使用方式各有各自的规定而已。

这一段,我有上传到GitHub,很多具体的理解都在对应版本的文档中有详细说明。

这是第二个阶段的感受。

之所以,从头看 MDN 的前端系列教程,是受左耳朵耗子在极客时间的专栏《左耳听风》的影响,觉着有必要打牢基础知识,遂看了一遍整个前端的系列文章(英文版,尽量使用第一手原版资料,我英文并不好,也就4级水准,一样看的懂),现在对于框架的认知又不一样,我主写PHP,最开始时是使用TP5。

现在再来讨论框架,就不再局限于某一具体的语言,不管是PHP,JAVA,Python还是别的语言,框架其实干的事都一样,把编码工作变的更加简单,简单的方式就是提供大量的函数库,不同的库针对不同类的问题,回过头来再看我目前的工作,认识不一样了,由一个创造工作变成了一个应用工作,我现在觉得,创建框架才算是创造工作,功能开发其实是一个对函数库的应用工作。

对于初学者而言,感觉PHP的 Lavarel 框架好难,完全看不懂,虽然我现在不用,自然也不会,但是感觉上不会觉得是个难啃的骨头。如果让我学习,我会去了解,它引入的第三方库放在哪里,路由的顺序如何,弄清楚了这些,框架就能够使用了。

本作品采用《CC 协议》,转载必须注明作者和本文链接
城里的野山参
讨论数量: 2

框架是个好东西

11个月前 评论
城里的野山参 (楼主) 11个月前

框架研发者的角度学到了,点个赞(不过框架源码研究起来真的头秃 :joy:

11个月前 评论
城里的野山参 (楼主) 11个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!