Web应用程序框架:C++;vs Python 我对Python和C++都很熟悉,程序员。我正在考虑编写自己的简单web应用程序,我想知道哪种语言更适合服务器端web开发
我在寻找一些东西:Web应用程序框架:C++;vs Python 我对Python和C++都很熟悉,程序员。我正在考虑编写自己的简单web应用程序,我想知道哪种语言更适合服务器端web开发,c++,python,wt,C++,Python,Wt,我在寻找一些东西: 它必须是直观的。我认识到Wt的存在,它遵循Qt模型。我讨厌Qt的一点是,它们通过模糊的方式(例如“公共插槽:”成语)鼓励使用奇怪的语法。如果我要编写C++,我需要它是标准的、可识别的、干净的代码。没有Qt提供的花哨的愚蠢 我必须编写的非C++或Python代码越少越好。Django(PythonWeb框架)的一点是,它几乎要求您手工编写HTML。我认为,如果HTML表单更多地采用wxWidgets方法,那就太好了。Wt与此接近,但遵循Qt模型,而不是wxWidgets 我
- 它必须是直观的。我认识到Wt的存在,它遵循Qt模型。我讨厌Qt的一点是,它们通过模糊的方式(例如“公共插槽:”成语)鼓励使用奇怪的语法。如果我要编写C++,我需要它是标准的、可识别的、干净的代码。没有Qt提供的花哨的愚蠢
- 我必须编写的非C++或Python代码越少越好。Django(PythonWeb框架)的一点是,它几乎要求您手工编写HTML。我认为,如果HTML表单更多地采用wxWidgets方法,那就太好了。Wt与此接近,但遵循Qt模型,而不是wxWidgets
对于一个网络开发新手有什么建议吗?我猜web应用程序框架是一个不错的选择,但这只是选择一个框架的问题。如果你想避免编写HTML,你可以试试。然而,根据我的经验,使用中间框架来生成HTML和ECMAScript从来没有像手工编写页面那样有效 [编辑]nikow在评论中提到了GWT到Python的一个端口
关于语言,如果在C++和Python之间进行选择,我将选择Python 100%的时间。即使忽略了这些语言之间抽象的明显区别,Python也比C++具有更有用的库。您不必编写自己的面向开发的web服务器——Django附带了一个。您不需要编写自定义模板库——Python有。Django附带了一个功能强大的ORM层,或者您可以使用更多的控件。这只是一场竞赛。
你可能想在Python上使用C++的唯一原因是速度最重要。
如果这将是您的第一个web应用程序,您可能只使用Python就可以了,并且您的开发速度将比使用CPP好几个数量级 Django的模板语言远不是无能为力的,对我来说,它实际上看起来很像Python。实际上,您可以在模板中编写纯python(尽管通常不建议这样做) 更好的是,可以用您喜欢的模板系统替换Django的模板系统。 我个人最喜欢的语言是HAML 以下是一些数据:- Django是一个很好的web开发起点,它是一个很好的框架
- 如果你寻找C++,它就更接近Django,它不像WT那样模仿QT.
无论如何,这取决于你的需要。C++可以用于嵌入式或高性能的Web应用程序,但对于中等范围的Web站点Django则会更好。(我是CppCMS的开发人员)我认为您最好先使用python,同时可以扩展CppCMS的功能并围绕它编写自己的框架
wt是一个好主意,但不知何故并不合适。如果您正在探索Python框架(基于例外的答案,我想您是),我想您真的应该亲自检查一下。当您编写CherryPy应用程序时,您实际上只是在编写Python应用程序。框架很快就会脱离您的视线。你可以自由选择你自己的模板,ORM(如果你选择使用ORM),等等。认真地说,花10到20分钟看看。看了几个,比如django、pylos、web2py、wt。我的推荐是web2py。它是“RubyonRails”的python版本,易于学习 我会选择Wt,因为:
- 你已经知道C了++
- 它有一个很好的,所以你不需要知道很多HTML
- 这本书写得很好,很高兴能用它来编写代码
- 您部署的应用程序将在更少的硬件上处理python应用程序50倍的负载(根据pylons应用程序的经验,是plone应用程序10000倍的负载:P)
- 它有第一个问题中的人说它没有的所有库,还有更多
- 打开id和用户+密码
- 才华横溢的
- Web2.0不是事后才想到的;它不是像所有python框架那样基于请求+响应模型设计的(据我所知),而是基于事件驱动的交互模型。
- 如果可用,它将使用
- 如果不是,则会优雅地返回到正常的ajax
- 对于像linx这样的浏览器,返回http
- 这更像是编写gui应用程序,而不是web应用程序,这可能是您已经习惯的
- 它是静态类型的,因此不容易出错。
接受整数还是字符串def delete(id):
- 单元测试(至少在我的应用程序上)比python应用程序单元测试的运行时间(包括编译时间)少10-100倍
- 它有一个强大而友好的社区。我所有的帖子都会在0-3天内回复