为什么 Laravel 5 这么好一个框架国内开发者都不去用?

为什么 Laravel 5 这么好一个框架,国人都不去用?

为什么 Laravel 5 这么好一个框架,国人都不去用?

为什么都去用那种垃圾的 ThinkPHP ?

国内的教程和资料,几乎没有。。

国外的教程资料都是海量的,书也是海量的。

我经过学习后,我发现laravel 5真的是一个很不错的框架。

很强大,又很优雅。开发项目非常快。

************************
主要问题:
为什么这个框架只在国外火了?在国内没火起来呢??

以下是我个人对技术的选择过程,完全主观。分享这些信息的目的,在于多一份信息给新手作为参考,请当做个人经验分享。 ;-)

--

记得那时是 2013 年中旬,个人对 PHP 生态圈的感情,完全是累觉不爱了。

站在 2013 年会往后看,在我过去三年的编程经历中,开发接触到 Discuz、DiscuzX、WordPress、Drupal、Joomla、帝国、PHPWind、ThinkPHP、Codeignitor、Yii、CakePHP、Zend、Slim、Kohana、新公司的自己开发设计过气的老框架+正在设计的新框架 ....

每接触一个软件\框架,就是对一套全新的机制\系统的学习,不同的类加载的实现机制、不同的核心类名称、不同的函数名称、不同的插件系统、不同的主题系统。但其实,大部分时候,他们做的都是同样的事情,有些软件架构像 DiscuzX、Drupal、Joomla 的代码尤其难啃。

看着网络上遍布着各种 《PHP 最流行 30 个开源软件》、《PHP 最流行 50 个框架》的文章,开始问自己:“难道编程就是这样子无止境的学习框架?无止境的学习这些开源软件架构?”,后来也试过选择一个框架作为自己的主修,从外观上看,后台提供商的支持最靠谱的就是 Zend Framework ,因为 Zend 是 PHP 后面的那家公司,可是做了一个项目以后,就完全做不下去了。复杂、臃肿的设计,让你完全产生不了爱意。第二个尝试是当时最受欢迎的框架 Codeignitor ,在当时确实眼前一亮,简单的 MVC 架构,创新的路由设计,可是还是太轻了,要开发一个项目,需要装这个装那个,并且都是手动去装,遇到核心没提供的类库(Class),得去互联网上搜索,然后复制黏贴到手动创建的文件中。中文网页上,有些代码不小心加了几个中文的 `,` 还有 `(` ,debug 到你开始掉头发。

这就是一个 PHPer 在 2013 年的彷徨,完全心灰意冷。在那一年,也开始接触除了 PHP 以外的生态圈 - Python 的 Django, 那时候热的烫手 Nodejs 的 express.js,微软的 ASP.NET ,Java 的 Spring,Objective-C 的 CocoaTouch(开始公司 iOS App 的开发工作)。很快就发现了 Ruby on Rails 和 Gem 包管理,被他们 ROR 的生态圈深深吸引。他们的设计哲学:

  • 强调与注重敏捷开发;
  • 约定高于配置(Convention over configuration);
  • DRY(Don't repeat yourself)不要重复自己;
  • 「编程愉悦性」很重要。

简直就是不能同意更多,站在 ROR 看 PHP 的生态圈,PHP 生态圈简直可以用「一盘散沙」来形容。PHP 拥有那么多的开发者,开发观念还是那么落后,大家各自为战,那么多的脑力,到最后都消耗在大量的重复性工作上,生产力严重浪费。

在 2013 年底,准备完全切到 ROR 上, 2014 的新年愿望里有一条: ”找一份 ROR 工作“。

2014 年 3 月份,接到一位朋友的邀请做创业公司的技术合伙人,开始给未来的团队选择技术堆栈,其实当时差不多可以决定后端选型,就是 ROR。唯一让我犹豫的是,ROR 用的是 Ruby,开发群体太小,作为技术合伙人,不得不考虑后面人才引入的问题。这个时候无意间发现了 Jeffrey Way 的 Laravel 视频教程,通过深入学习,以及对作者的了解,基本上可以定义:这就是 PHP 中的 ROR。不只是长得像 ROR,他的开发哲学(上面罗列出来的)也像 ROR。另外 Jeffrey Way 决定了完全投身 Laravel 的教育中,也加深了我对 Laravel 的信心。 Jeffrey Way - Envato Tuts+ Profile 是 Nettuts+ 和 Tuts+ 的优秀讲师,几年的教学经历中,技术狩猎非常广,尤其是Web 开发上,写过将近 500 篇的教程。最后新公司的技术堆栈,选择了 Laravel,虽然那会 Laravel 还比较年轻(现在也很年轻,这里是 2016),但是 Laravel 有一个巨大优势,那就是基于 PHP ,PHP 开发者众多,潜力无限。

凭着对 Laravel 的热爱,误打误撞中,回答了这个问题:

最好的 PHP 框架是什么?为什么?

其中 @Hex 的评论引起了我构建一个社区的兴趣,当时也想做一个 Laravel 的练手项目,而对于使用 Discuz 开发过十来个项目的我,论坛软件是我的长项。

<img src="https://pic2.zhimg.com/v2-44c9b7876b7146084b149475aa866689_b.png" data-rawwidth="564" data-rawheight="322" class="origin_image zh-lightbox-thumb" width="564" data-original="https://pic2.zhimg.com/v2-44c9b7876b7146084b149475aa866689_r.png">
那会做的是 医术网 ,是我的第一个创业项目,最终项目因进展太慢而我最终退出。随后受邀加入了另一个项目。这两个项目中间刚好有空余的精力,经过一个多星期的编码, PHPHub summerblue/phphub 诞生了。

<img src="https://pic4.zhimg.com/v2-215246f66420a6b9be0a23ff7d0d9e53_b.png" data-rawwidth="602" data-rawheight="116" class="origin_image zh-lightbox-thumb" width="602" data-original="https://pic4.zhimg.com/v2-215246f66420a6b9be0a23ff7d0d9e53_r.png">

扯了这么远,回到这个问题,随着 PHPHub 社区(后改名 Laravel China 社区)的诞生,以及随后的运营,慢慢的把 Laravel 在国内的推广开始做起来,无意中成为了 Laravel 在国内的布道者。

经过这段时间的努力,很荣幸的告诉你,Laravel 在国内的很多东西我们都准备好了。

我们有成熟的社区 Laravel China 社区 ,我们有非常优秀的管理员团队 Laravel China 管理员,社区有 社区发帖和管理规范

我们翻译和维护了 Laravel 4.2~5.3 版本的中文文档 laravel-china.org/docs/ ,并且文档都是由大家参与协作翻译 Laravel 5.3 文档翻译召集

我们还为 Laravel China 社区 开发了 iOS 和 安卓 App,并开源 所有项目正式开源! (包括 iOS, Android, Web, Server, UI)

还有 速查表
  • @安正超 的 Laravel 技巧 - Laravel.so
  • Laravel 5.1 LTS 速查表
  • Lumen 中文文档
  • 翻译了 PHP 标准规范中文版
  • 第一本 Laravel 中文新手入门书籍《Laravel 入门教程》

前两天还上线了 Laravel 资讯 | Laravel China 出品 ,并且整站代码开源 「Laravel 资讯」项目上线,整站源码开源

我们甚至还有文化衫 做了一件微小的事情:Laravel 大 Logo 卫衣来了

线下聚会也开始进行,目前已经有 [Laravel Dinner 01 期][北京] [Laravel Dinner 02 期] [深圳] [Laravel Dinner 03 期][上海]

我想说的是,Laravel 在国内很快会火起来,之前要不是文档缺失,就是没有好的入门教程或者其他。现在已经一切具备了,赶快加入我们吧。让我们一起

构建一个团结的社区、聪明、理智、有活力、有创造力的社区。
让 Laravel 解放我们的生产力、解放我们的创造力。

我希望 Laravel 会是我学习的最后一个框架。因为

作为工匠,我更愿意把我有限的生命用在作品和应用上,而不是对工具的无止境的学习上。

laravel是个好框架,我也在学习和使用,并且在公司里推广,新项目就是用的laravel。但是我觉得题主说thinkphp是垃圾我是不同意的,国外的月亮真的就更圆?
再说laravel和TP的比较吧,说实话laravel门槛比tp高很多,因为laravel是新框架,用了很多php新特性,并不向后兼容,而tp已经很多年了。
同时,laravel在国外流行而在国内不流行还有一个问题是,它真的很慢,为此在决定新项目上laravel的时候还和同事争论了很久。你觉得laravel响应一个get请求并输出一个hello world要居然要实例化33个对象显得比tp或者其他框架牛逼?
很多phper刚开始水平不够高,根本弄不懂laravel中的许多设计模式,什么依赖注入、控制反转、facade之类的,看着超级长逻辑超级绕的源码也很无力,而tp这方面则简单很多。更关键的是,tp有详尽的中文文档而laravel翻译的文档那些看起来很多但显然不够,对于很多英语不好的开发者这是一道无法逾越的鸿沟
当然,说到最后,我个人总结一下对laravel在国内不流行的观点
1 门槛高(设计模式,闭包)
2 中文资料少(多数人的硬伤)
3 设计非常复杂(尽管很优雅)
4 速度超级慢(国外网站很多压力并不大他们不在乎)
5 too java(这么复杂而且很像java我为什么不干脆就用java呢)

但瑕不掩瑜,laravel本身确实是一个非常棒的框架,尤其是最近基于它推出的lumen,速度大幅提升

你可能感兴趣的:(为什么 Laravel 5 这么好一个框架国内开发者都不去用?)