Web应用框架:C++ vs Python

2024-05-26 09:18:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我在找一些东西:

  • 它必须是直观的。我认识到Wt的存在,它遵循Qt模型。我讨厌Qt的一点是,它们通过混淆的方式(例如“publicshots:”成语)鼓励使用奇怪的语法。如果我要编写C++,我需要它是标准的、可识别的、干净的代码。没有Qt提供的奇特的害羞和愚蠢。
  • 我要写的非C++或Python代码越少越好。关于Django(Python web框架)的事情是,它几乎需要您手工编写HTML。我认为如果HTML表单采用更多的wxWidgets方法会更好。Wt与此很接近,但遵循Qt模型而不是wxWidgets。
我通常用C++编写视频游戏,我没有在网页开发方面的经验。我想写一个好的网站有很多原因。我希望它是一种学习体验,我希望它是有趣的,我希望能够轻松地专注于“有趣的东西”(例如,更少的样板,更多的应用程序肉)。

对于新手网络开发人员有什么建议吗?我猜web应用框架是一条路要走,但这只是一个选择的问题。


Tags: 代码模型框架web语言应用程序html方式
3条回答

我会选择Wt,因为:

    你已经知道C++ +/LI>
  • 它有一个很好的layout system,所以您不需要知道很多HTML
  • 写得很好,很高兴能在
  • 您部署的应用程序将在更少的硬件上处理50倍于python应用程序的负载(根据pylons应用程序的经验,是plone应用程序的10000倍:P)
  • 它有第一个问题的人说没有的所有图书馆
  • Web 2.0不是一个事后的想法;它不是像所有python框架(据我所知)那样基于请求+响应模型设计的,而是基于事件驱动的交互模型。
    • 如果可用,它使用WebSockets
    • 如果不是,则优雅地返回到普通ajax
    • 对于像linx这样的浏览器,返回到http
  • 它更像是编写一个gui应用程序,而不是web应用程序,这可能是您习惯的
  • 它是静态类型的,因此不易出错。def delete(id):接受int还是字符串?
  • 单元测试(至少在我的应用程序上)的运行时间比python应用程序单元测试少10-100倍(包括编译时间)
  • 它有一个强大而友好的社区。我所有的email list帖子都会在0-3天内回复。
  • Django是开始web开发的好地方它是一个很棒的框架
  • 如果你寻找C++,看看CppCMS,它更接近Django,它不像模拟QT的WT。

无论如何,这真的取决于你的需要。C++可以用于嵌入式或高性能的Web应用程序,但对于中等范围的Web站点Django则会更好。(我是CppCMS的开发者)

如果您想避免编写HTML,可以尝试GWT。然而,根据我的经验,使用中间框架生成HTML和ECMAScript从来没有像手工编写页面那样有效。

[编辑]nikow在评论中提到,Pyjamas是GWT到Python的端口。

关于语言,如果在C++和Python之间进行选择,我将选择Python 100%的时间。即使忽略了这些语言之间抽象的明显区别,Python也比C++具有更有用的库。您不必编写自己的面向开发的web服务器——Django附带了一个。不需要编写自定义模板库——Python有Genshi。Django附带了一个功能强大的ORM层,或者对于更多的控件,您可以使用SQLAlchemy。只是一场比赛。

相关问题 更多 >