专栏首页Tech爬虫(公众号php_pachong)为什么要用框架Framework

为什么要用框架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),作者:爬虫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端框架介绍

    一眼看过去似乎有点少,其实开发web网站只要需求不是特别多的,基本就够了,有些甚至JS都用的少。

    公众号php_pachong
  • CSS框架

    简单地说,就是一些事先写好的css,你只需要给你的html元素加上一些特定的类,就可以快速的得到一些想要的效果。就是它开发了一套现成的CSS样式,包括排版布局、...

    公众号php_pachong
  • 软件工程和项目管理

    项目管理其实是一个非常宽泛的学科,它不仅仅只适合于软件(或互联网或IT)行业,其实也适合其他行业,例如建筑。

    公众号php_pachong
  • 用户反馈:对 Rafy 开发框架的一些个人建议

    这篇文章是去年 Rafy 框架发布后,许胜平先生为我提出的一些建议。他从用户群体分析、社区、商业模式、技术支持等方面对框架发展提出了建议,我觉得写得非常不错。...

    用户1172223
  • 关于框架的一些思考

    如果你的团队很小并且在软件开发领域也没什么经验,那么放下包袱使用开源框架吧(OSS Framework),但是如果你有一个很大而且有丰富经验的团队,那么最好还是...

    大江小浪
  • 深度学习框架哪家强?MXNet称霸CNN、RNN和情感分析,TensorFlow仅擅长推断特征提取

    深度学习框架哪家强:TensorFlow?Caffe?MXNet?Keras?PyTorch?对于这几大框架在运行各项深度任务时的性能差异如何,各位读者不免会有...

    AI科技大本营
  • 框架和类库的区别

    架和类库等概念的出现都是源于人们对复用的渴望。“不要重复发明轮子”,成了软件界的一句经典名言。从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形...

    聚沙成塔
  • IT技术水平会像贫富差距一样越来越大

    技巅
  • 前端框架真的好吗?

    前端现在是一个技术爆炸的时代,各种打包工具webpack、grunt、gulp,各种包管理工具工具npm、bower、yarn,各种css预处理器scss、st...

    wade
  • springboot实例工程案例(含源码)

    引: 最近朋友那边要我给他开发一套JAVA WEB 后台信息管理系统。他要求时间短,任务重,但在 主要业务模板相对比较简单:主要是用于APP后台...

    程序源代码

扫码关注云+社区

领取腾讯云代金券