学习要点:

1.框架和库

2.个人用框架的优势

3.公司用框架的优势

4.框架和开源系统

本课程由 网 北风网 和 和  瓢城 b Web 部 俱乐部  提供

在正式学习 ThinkPHP 框架之前,我们首先要探讨一个问题——为什么要使用框架。它

的好处是什么?有哪些优势?对个人或公司运营有哪些帮助?

一. 框架和库

库:英文是(Library)可以理解为仓库、图书馆、存书室。在程序里面理解,就是各种

代码的封装集合包,提供原生内置并不存在的功能和方法。

框架:英文是(Framework)可以理解为骨架、架构、书架、书框。在程序里面理解,

就各种条条框框像个有规则的书架一样,让你按照它的代码规范、编码模式(比如很多框架

是基于 MVC 模式的)去开发应用程序。当然,框架内可能也包含了库的功能,也提供了各

种封装功能的集合包。

那么使用框架开发有哪些优势呢?

二. 个人用框架的优势

在个人项目开发中,使用框架比采用原生代码开发优势较为明显:

1.效率极高:因为框架已经帮你疏通了管道、构建了厂房、安好了水电、装全了设备、

排好了书架,你要做的就是按照书架的布局或规格,整齐的把书放上,就完了。如果你不用

框架建设,你还需要自己疏通管道、构建厂房、安水电、装设备、排书架,效率大大提高。

2.安全性高:框架的开发难度较高,一般都是身经百战的架构高手们经过多年、多版本

研发、更新迭代孕育而成。经过大量市场和用户的轮番测试和考验,保证了不同情况和状况

的稳定性。而如果你是低手或者新手,且自己架构,很有可能会遇到厂房崩塌、漏水漏电等

不安全的情况发生。

3.稳定性高:基本同上,因为各种部件进行有有条不紊的架构,导致在不同程度的运行

中保证流畅。而自行架构的,在某些极端情况下可能会遇到管道堵塞的问题发生。

PS:使用框架有这么多明显的优势,那对于个人开发者有必要学习那些原生的基础知

识吗?答案是:必须要学习。首先,最基础的没有学好,在学习和使用框架的时候会到处碰

壁。其次,基础知识越扎实,在使用框架的深度和灵活度上要远高于不扎实的人,这是个人

竞争力的体现。

PS:一般对于职业生涯规划,我总结出可能会出现三种情况:1.努力学习基础知识,然

后学习一种或多种框架在工作中高效的使用,最终积累的各种资源,成立自己的工作室或公

司承办业务;2.努力学习基础知识,然后学习一种或多种框架在工作中高效使用,然后又返

璞归真深入研究原生,开发多款工具或开源框架,实现大牛级别;3.改行。

三. 公司用框架的优势

在公司团队项目开发中,使用主流框架比原生或自行开发框架优势较为明显:

1.团队协作力强:开源框架提供了统一的规范和编码模式,且模块与模块之间相对独立。

对于程序员来说,只要根据这种规范来编码,团队之间的协调性会非常容易。而且主流的开

源框架在招募人才方面较为容易,上来就能使用,降低的培训成本。

2.降低培训成本:如果使用原生代码,当另一个团队人员接受或参与,几乎看不到懂之

前的技术员人代码,最终可能要重构,成本巨大。如果使用公司研发的框架,那么也需要一

定时间的培训才能上手,成本也是巨大的。而使用主流框架,大部分技术人员在来公司之前

就已经掌握。

3.去技术人员化:一个公司把核心代码掌握在某个技术人员手里,这是极其危险的事。

当这个项目的原生或者自行开发的框架是某一个技术人员设计的,当他离职后,代码将是一

堆垃圾,没人能看懂。如果使用主流框架,那么公司的核心是项目和业务本身,降低技术人

员的价值。任何一个技术人员离职,都不会影响项目的研发进度,只要懂主流框架的技术人

员,上手即可继续。

PS:这里要声明一下,不同级别的公司在原生和自行开发框架、主流开源框架的认识

上是有一定分歧的。技术型的大公司,不缺线,不缺技术人员,开发自己的框架主要解决自

己庞大的业务需求,其次是捍卫自己技术型公司的地位。而缺钱、缺人才的中小型公司,什

么都要自己研发,自己研发框架,自己研发前端库,然后用框架和库开发自己的论坛,内容

管理系统,商城系统。不用 discuz、dede、ecshop 之类的开源系统。最终导致烧完 100 万资

金,还欠发两个月工资,老板失踪,网站也没上线运营就倒闭了。

四. 框架和开源系统

所谓开源系统,就是开放源代码的系统。这些系统,包括比如 discuz 论坛系统、phpcms

内容管理系统、shopex 商城系统。这些系统,都是定制某种领域功能的、已经开发好的系

统。原则上,这些系统已经不需要技术人员来编码了,可以直接上线运营了。因为这些是定

制的系统,所以系统会专门根据此领域的情况进行特定的优化。那么也就是说,这些开源系

统在安全性、稳定性和效率上要高于用框架开发的同类产品。所以,很多公司大量招聘开源

系统的二次开发人才。

那么到底是学框架开发,还是学开源系统的二次开发呢?我的建议是,先学基础(比如

PHP1,2,3 季度),再学框架(PHP 第 4 季)。之后如果对开源系统的二次开发感兴趣,其实

有了这么多基础,直接看 API 就非常容易了,都不需要专门做视频指引。


关注极客云图了解更多内容