当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序框架:C++与Python

如何解决《Web应用程序框架:C++与Python》经验,为你挑选了3个好方法。

我熟悉Python和C++作为程序员.我正在考虑编写自己的简单Web应用程序,我想知道哪种语言更适合服务器端Web开发.

我正在寻找的一些东西:

它必须是直观的.我认识到Wt存在并且它遵循Qt的模型.我讨厌Qt的一件事是它们通过混淆的手段鼓励奇怪的语法(例如"公共插槽:"成语).如果我要编写C++,我需要它是标准的,可识别的,干净的代码.Qt提供的没有花哨的狡猾愚蠢.

我必须编写的非C++或Python代码越少越好.关于Django(Python Web框架)的事情是,它需要您手动编写HTML.我认为如果HTML表单采用更多的wxWidgets方法会很棒.Wt接近于此但遵循Qt模型而不是wxWidgets.

我通常用C++编写视频游戏,我没有网络开发经验.我想写一个很好的网站有很多原因.我希望它是一种学习体验,我希望它变得有趣,我希望能够轻松地专注于"有趣的东西"(例如,更少的样板,更多应用程序的肉).

新手网络开发者的任何提示?我猜测Web应用程序框架是要走的路,但这只是挑选一个.



1> matiu..:

我会和Wt一起去,因为:

你已经了解C++

它有一个很好的布局系统,所以你不需要知道很多HTML

它编写得非常好,很乐意编写代码

您部署的应用程序将在较少的硬件上处理python应用程序的50倍负载(来自pylons应用程序的经验,是plone应用程序负载的10,000倍:P)

它有所有的库,第一个问题中的人说它没有和更多

在构建的开发webserver中

模板语言

ORM

单元测试帮助

open-id和用户+密码验证

精彩的小部件库

Web 2.0不是一个想法; 它不是像所有python框架(据我所知)在Request + Response模型上设计的,而是在事件驱动的交互模型上设计的.

它使用WebSockets(如果可用)

如果不是,优雅地回到正常的ajax

对于像linx这样的浏览器,可以回到http

它更像是编写一个gui应用程序,而不是一个Web应用程序,这可能是你习惯的

它是静态类型的,因此不容易出错.是否def delete(id):需要一个int或字符串?

单元测试(至少在我的应用程序上)比我的python app单元测试运行时间少10-100倍(包括编译时间)

它有一个强大而友好的社区.我的所有电子邮件列表帖子都会在0-3天内得到解答.


我喜欢web dev的GUI模型,并且相信它是未来,只需看看Chrome OS.您对会话模型有一个有效的观点.它可以减慢应用程序的某些部分; 然而,与大多数框架一样,坏位可以在一定程度上解决.您可以在Wt的前面添加缓存,至少对于样式表和图像,甚至是初始加载/登录页面.他们甚至可以通过CDN服务.您能详细说明模板系统的好坏吗?恕我直言,它做得很好.
现在我正在使用django应用程序,我将添加另一个Wt和C++优势:它更明确,更少魔法; 我发现使用django应用程序,大多数代码都在库中,我的应用程序代码主要是回调; 这使得调试有点困难,因为我不知道我的代码将被调用的顺序.另一方面,django代码比任何Wt应用程序都要少得多,并且用少量代码完成了很多工作.此外,由于轮询和数据库读取,django应用程序在空闲时使用了更多资源.(Wt民意调查,但非常小的数据包,似乎有更好的数据库缓存和通知).

2> John Milliki..:

如果您想避免编写HTML,可以试试GWT.但是,根据我的经验,使用中间框架生成HTML和ECMAScript永远不会在任何地方工作,也不能手工编写页面.

[编辑] nikow在评论中提到,睡衣是GWT到Python的端口.

关于语言,如果在C++和Python之间做出选择,我会100%选择Python.即使忽略这些语言之间抽象的明显差异,Python也只是拥有比C++更有用的库.您不必编写自己的面向开发的Web服务器 - Django附带一个.您不需要编写自定义模板库 - Python具有Genshi.Django带有一个功能强大的ORM层,或者为了更多的控制,你可以使用SQLAlchemy.这几乎不是一场比赛.


Wt,c ++库既有内置的web服务器,也有强大的模板语言,还有一个ORM层,还有一个很好的基础,可以用假请求和诸如此类的东西进行单元测试.
请注意Pajamas项目,它允许您使用Python而不是Java来实现GWT.

3> Artyom..:

Django是开始Web开发的好点,它是很棒的框架

如果你看C++看看CppCMS,它更接近Django,它不像Wt那样模仿Qt.

无论如何,这实际上取决于您的需求.C++可用于嵌入式或高性能Web应用程序,但对于中等范围的Web站点,Django会更好.(我是CppCMS的开发人员)

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有