Masonite框架还不成熟,它的不足、bug列表,持续更新

最近一直在研究python的web框架,认真看了django, 也认真看了masonite。还看了laravel。

我很喜欢masonite laravel thinkphp三个框架的容器,还有它们的服务提供者。非常棒的设计,有助于框架性能提升,以及插件的开发。

我挺喜欢masonite的设计。但却发现这框架不成熟,没有经过正式项目的长期磨练。

我跟框架作者联系过,提了一些建议。有些正在改进中。有些在未来会考虑。有些因为忙,以后再说。

以下测试,全部基于最新版masonite 4.15.0, linux操作系统

bug:

1 这是判断key是否存在,而不是判断是否有值。若这样使用,缓存穿透问题,就无解。
应该用exists(),这是redis包官方提供的正确用法。
注:laravel thinkphp django 均无此问题
Masonite框架还不成熟,它的不足或bug列表,持续更新

2 这是自增自减的操作,redis包官方提供了incrby() decrby()方法。他偏不用,又要自己实现。但这会导致性能不好,他自己查出来再计算后重新写入。以及会有并发问题。
注:laravel thinkphp django 均无此问题
Masonite框架还不成熟,它的不足或bug列表,持续更新

性能不好:

1 使用Masonite封装的缓存,此代码,用时2.76秒
注:其它框架只测试了thinkphp,无此问题。但由于php的redis插件是C语言所写,所以也没可比性。
Masonite框架还不成熟,它的不足或bug列表,持续更新

我自己另外单独使用redis库,用时0.90秒

Masonite框架还不成熟,它的不足或bug列表,持续更新

不足:

注:laravel thinkphp django 均无以下不足
1 迁移文件,无法设置联合索引,只有简单的几个单字段索引

2 session,不支持存到redis

3 没有日志模块,如果要写日志,自己想办法。

4 没多语言模块

5 ORM不支持读写分离。

讨论数量: 6

向楼主学习。。我之前使用过thinkphp,再看这个软件的时候 MVC的结构很像,感觉也容易入门,但缺乏案例代码学习。

thinkphp其实之前的3.2版本也很经典,后面的感觉反而复杂了。

1年前 评论
lvtian (楼主) 1年前
lyping (作者) 1年前

还是喜欢laravel啊,能用laravel开发WEB,为啥要用这个啊,虽然好多东西和laravel很像,但不放心啊。

1年前 评论
lvtian (楼主) 1年前
kylesean 1年前

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