django框架 java django框架过时了吗

您所在的位置:网站首页 javassh框架真的过时了吗 django框架 java django框架过时了吗

django框架 java django框架过时了吗

2024-07-16 04:22| 来源: 网络整理| 查看: 265

很多人都不想学习一门过气的语言或框架。尽管Python如日中天,但Python语言在Web开发领域竞争对手众多,并没有多大优势。Django虽然是Python Web框架的一哥,但同样面临很多新框架的竞争。那么问题来了,Python和Django是否依然值得学习呢?大江哥我尝试从知乎上精选了一些问答,或许能回答你心里的一些疑虑。

django框架 java django框架过时了吗_大数据

1. 现在学习Django做web开发过时了吗?

网友:HexUp

从世界的范围看不过时,反而非常适合个人开发者或者小团队。

但如果你学Django是为了在国内找一份程序员的工作,那么Django可以说从来没有主流过,因此也谈不上过时。国内的web服务java是大头。

在国内,个人想要搭建一个(面向国内用户的)独立网站非常非常困难,99%的人卡在域名备案,剩下1%里面的90%还要被云服务厂商的带宽定价恶心。这导致了国内的中小型web服务真的十分欠缺,因此中小型web框架的市场也不大(相比于英语世界的百花齐放)。

不过呢,如果你能克服上述困难,搭建个人web项目,或者是小型团队的项目,Django绝对是利器。Django是一个完整的框架,帮你做了很多默认的选择,这些预先包含的工具链在搭建web服务的初期非常好用。

此外,使用python也是Django的一大优势,因为python的库实在太多了,基本上你所需要的任何工具都有人涉足过,这意味着在你的web服务有一定规模之前可以很舒服地搭建起来。

对比之下,flask的优点是小巧,但缺点也是小巧。灵活的同时意味着自己需要重复造轮子,或者花时间配置,而Django提供了一个不错的解决方案可以直接用。

其实在这种场景下,WordPress也是一个很不错的选择,可以快速搭建网站。但python比php的适用范围更广,所以我更推荐python。

当你开始频繁感受到Django的技术瓶颈的时候,八成你的业务已经颇具规模,可以赚很多钱了,这时候你应该先高兴才是,然后再考虑升级技术栈。

网友:Mr数据杨

明确的说风头正盛。但是短期内无法取代Java成为主流框架。

首先要知道Django具有的特点:

功能完善:只要能想到的基本都有,自带大量工具和三方框架,任意组合。Django如果做不了的其他框架也做不了。文档完善:Django很全的实践案例和在线文档。无论开发者遇任何问题都可以通过在线文档寻求解决方案。迭代速度快,内容更新及时。数据库访问组件:Django的Model层自带数据库ORM组件,使开发这可以完成各种数据库操作,无需调用命令。URL映射:Django使用正则表达式管理URL映射,灵活性更高。并且直观易懂。Template模板语言:模板套用继承很容易,还可以自定义模板标签,结合ORM使用更加方方便。自带后台管理系统admin、adminx:配置简单、内容完整的后台数据管理控制平台。继承Python完整的错误信息提示:在开发调试过程中如果出现运行错误或者异常,Django可以提供非常完整的错误信息帮助定位问题。新手入门必选框架,异常友好。

网友:drno

互联网不适合,国内以前豆瓣和知乎好像是python,但好像也是flask吧?现在都转了,团队小hold住,大了确实hold不住,django这种框架的带来的便捷随着项目和参与人数的增大边际成本是递减的。

但你说的过时了就要辩证的看了,小团队用django完全没问题,如果其他的业务主要是基于python的其实比较实用,比如偏ml这块。搭配celery和apscheduler等等做一个轻量级的任务系统其实挺实用的。

还有就是作为全站的后端的一个入门的选择django也可以。毕竟大部分全站还是只能做到一端专精,另一端相对辅助一些。其实对于绝大多数人来说能做到业务专精就已经到天花板了,业务其实不是很看重语言,django可以快速搭建出一个原型还是可以的,虽然国内整体还是java系一家独大。

——

2021/03/14 追加一下我现在python作为后台主要语言的技术栈

做的主要是webgis相关的,前端 leaflet+vue+ts,后段django+drf+geodjango+celery,db:mysql+pg+mongo,数据处理:numpy+pandas+xarray+geopandas等,wms wfs服务:geoserver/mapserver。

目前看可以hold住。

————

追更一下19年那会py一度感觉要凉,不过20年开始又红火起来了。主要学习成本很低是他的优势,如果选择第一语言还是java优先选择。因为国内大环境如此。py也不是不可不是最优解。还有就是岗位前景如果纯服务开发py并不是最好的选择,java岗位和py在互联网领域差距还是巨大的。

作者:tu2k1ed

就我自己而言:现在学习Django 做web 不会过时。

具体的感觉:

第一,我给他定位在,快速的,一体化的框架。适合于快速搭建demo,特别是我不擅长前端的部分,依托于django 的admin site,我可以快速搭建网页进行一些功能展示。

这一点,python 其他的框架都有点比不过。同时他适合于单体的项目,可以从小项目逐渐开发成为大项目。

第二呢,它也支持开发成集群服务(也就是可以在开发之前就考虑到分布式部署的情况),比如文件存储,Sotrage的扩展,miniostorage等的使用。

但是呢,它肯定也不是十全十美的。

如果所在的公司的技术栈包括了容器这些,那么就会出现这么一个问题(我遇到了):以django+celery 为架子的项目,docker 打包后,镜像往往很大。很轻易的就按G算(如果有人有特别的打包技巧,请帮帮我),特别是包含了一些算法模块后。这样就会导致集群内部镜像在复制时,蛮久的(当然,就算很大,也是完全可以使用的,但是,多多少少还是有点完美主义的)

当然原因包括:django 本身代码多,模块大,另外就是,其他第三方库代码块大,例如numpy,pillow等。另外就是,模块依赖的linux软件可能也不小(并且这和go 给出的,多阶段编译go程序通过scratch 空镜像部署完全不同)。

还有一个原因,以celery实现的异步调用,是把异步的部分和web 的部分共同完成在一个镜像中,就导致镜像很大。我更希望web部分可能很小,算法部分(也就是异步执行部分)可以适当的大或者通过其他方案精简,这样的话修改起来,也不用反复打包发布。

所以呢,现在的我,更希望使用尽可能小的web框架,尽可能的去得到一个小的镜像的解决方案,甚至愿意尝试多阶段构建,通过pyinstaller 编译python 程序后发布镜像。

2. 用Django开发web后端,真的比SpringBoot要省事吗?

网友:亚东

很多人都说,如果开发对性能要求不高的小型非常web项目,Django写起来更快更省事儿。

这句话说的很对。Django本身在开发速度上确实是要比Java的SpringBoot快的。

这件事的根本原因就在于Java语言的表现力要比Python差一点儿。再加上Python本身是一个动态类型(多谢色胚的指教)的动态语言,就更方便一些。

Django框架本身也是一个非常让人舒服的框架,如果你适应它。因为它把你需要干的工作缩减到了很小的一部分。只不过这个东西需要一个适应的过程。

SpringBoot本身,我用过一段时间,也可以说非常方便了。但是对于SpringBoot来讲,你去理解它的具体的实现,要经过Spring,SpringMVC,SpringBoot这样几个过程,有点麻烦了。

而对于Django就很简单。所以对我个人而言,如果是一个小型的项目而且有选择性,通常我会用Django来做。

3. 为什么感觉django很难呢?

网友:朱涛

事实上难的不是django,而是自己对于web通用知识的缺失,包括但不限于如下内容:

HTTP协议(常见的状态码,各种method,stateless,cookie等)HTMLJavascriptCSS数据库/SQL(操作和优化等)CacheWeb Servertesting消息通信异步处理持续集成部署

如果你了解了如上(不限于)通用知识,那么学习任何框架(django/flask/tornado等)都是非常容易的。(而且非常不赞同有答主提到的文档烂,殊不知django的文档是有名的好)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3