为什么要用框架Framework

我们首先要探讨一个问题——为什么要使用框架。 它的好处是什么?有哪些优势?对个人或公司运营有哪些帮助?

一.框架和库

库:英文是(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 就非常容易了,都不需要专门做视频指引。

原文发布于微信公众号 - Tech爬虫(php_pachong)

原文发表时间:2019-01-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券