春天启动的学习者尝试触摸其他语言的Web框架后发现的情况

你好。我是渡辺敏弘。
我学习了Java的Web应用程序框架Spring Boot,但这次我也尝试了其他语言的框架。
我会比较Spring Boot(Java)、Laravel(PHP)、Ruby on Rails和Django(Python),并列举我发现的一些事情。
不过,请注意,除了Spring Boot之外的框架,我只是实现了简单的CRUD处理API,所以对框架没有深入理解。

Spring Boot的特点

你很少有输入指令的机会吗?

创建Spring Boot项目通常可以在Web上或IDE的GUI界面上进行。

此外,虽然Laravel和Rails提供了用于创建模型和控制器的命令,但我从未见过Spring Boot使用命令来创建文件的例子。

在使用Spring Boot时,我觉得相对于其他框架,很少有操作CLI的机会。

在中国,可以通过SQL语句来创建数据库表。

Laravel、Rails和Django都有一个叫做”迁移”的功能,可以不需编写SQL语句就能创建数据库表,但是在Spring Boot中,通常是通过SQL语句而非框架功能来创建表。

在创建项目时生成的代码量很少。

最初创建的Java文件仅限三个,并且只包含最基本的描述。

只有Spring Boot在初始状态启动应用程序并访问时,即使没有准备HTML文件,也不会显示任何内容。

然而,目录层次非常深,初始设置可能会感到目录结构过于冗杂。也许Spring Boot是为了适应大型应用程序的多个包而设计的。

image.png

Laravel 框架

在创建项目时生成的文件数量很多。

在Laravel中,项目在创建时的文件数量很多,且目录结构也已经确定。

image.png

Ruby on Rails (RoR)

在Windows平台上进行开发有困难。

在Windows上尝试进行Rails开发时,会经常遇到错误,尤其是在环境设置方面一直很困难。

我使用Windows的WSL2功能,在Linux虚拟环境中进行环境配置,但是仍然遇到了一些问题。出现了一些奇怪的警告,并且在安装Ruby时显示一直在安装中超过1个小时的问题。

Django

文件夹和文件同名的情况经常发生吗?

image.png

使用django-admin startproject <应用名称>命令来创建Django项目,将会创建一个名为<应用名称>的文件夹,其中包含一个同名的<应用名称>文件夹。

另外,我觉得创建多个同名的文件如__init__.py和urls.py会让人感到困惑,因为有这么多同名的文件和文件夹。

广告
将在 10 秒后关闭
bannerAds