Actually web2py is very light and since ~1.50 on GAE, it caches all bytecode compiled models/views/controllers.
Nevertheless you need to consider that by default is has datastore based sessions and this may add some overhead when compared with framework that do not have sessions working on GAE (at least not by default).
The web2py DAL itself does not add a significant overhead when compared to the naive Google datastore APIs.
回到 Python,我认为小型 Web 应用程序可以与内置的 webapp 框架完美配合。 其他应用程序将从 Django 1.0 中受益更多。 请参阅框架部分下的GAE 文章,了解一些相关内容。 无论如何,您的任何选择无疑都会受到限制,因为大多数 Web 框架在设计时都考虑到了关系数据库……而数据存储/bigtable 则不然。 此外,出于安全原因,GAE平台必须进行沙箱处理,这也在一定程度上限制了您。 希望这可以帮助。
Personally, I have found Python to be more fun. That's just me. However there are several commited Java developers out there that will appreciate the Java support in GAE. Furthermore, supporting Java was a good choice by Google since it will allow the GAE platform to potentially host many other languages. It's obviously a little early to expect all JVM based languages to run on GAE, but the future looks promising. For now we can look at what is and isn't working by taking a look at this GAE Java Group Page.
Coming back to Python, I think small web applications will work great with the built-in webapp framework. Other applications will benefit more from Django 1.0. Have a look at the GAE articles under the frameworks section for a few good reads on this. In any case, you will undoubtedly have restrictions in any of your choices since most web frameworks are designed with relational databases in mind ... which datastore/bigtable is not. Furthermore, the GAE platform has to be sandboxed for security reasons which also restrict you to some extent. Hope this helps.
Django 几乎是 Google Apps 所推崇和支持的,因此我希望它能比其他应用程序更好地与 Google Apps 集成。
Google Apps 内置了您无法规避(或不应该)的限制。 这些限制与任何特定框架无关,可以说它们内置于应用程序的结构中。
我不会太担心框架的性能 - 尝试改进你的设计/结构,它肯定会得到更好的回报。
Google 最终将迁移到 Django 1.0 及更高版本,而且他们也在更新 Google Apps。
他们确实使用内存缓存(或等效物),因此请考虑并利用它。
I don't know exactly the full range of options, but I can tell you a couple of things off the bat...
Google Apps is built on top of / using Django.
Django is pretty much what Google Apps cheer and support, so I'd expect it to integrate with Google Apps better than others.
Google Apps has restrictions built into it that you cannot circumvent (or shouldn't). These limitations are not related to any particular framework, rather they are built into the fabric of Apps, so to speak.
I wouldn't worry much about performance of the framework - try to improve your design/structure, it will certainly payback better.
Google will eventually move to Django 1.0 and newer, plus they are updating Google Apps too.
They do use memcache (or an equivalent) so take that into consideration and utilize it.
It really depends on what you want to do. In my experience something small hand made on top of Webob is really good for an API. But for full fledged sites that need templates/sessions/complex routing/caching django is hard to beat.
Take into account that if you huge frameworks (like django 1.0) the first request always takes around 3 seconds to load everything in memory and keeps it there until 15 secs after that request.
And while you shop around for frameworks take into account that:
ORM's don't apply to the platform so basically don't matter.
Fast templates (like Cheetah) won't be fast (or even work) as they can't use c extensions.
Caching might be the most important thing to make everything fast.
If you want to build large scale application and need more flexible framework, then you can take a look at Pyramid Python Framework. Previously it is called as Pylons. There are lot of good companies using this framework.
发布评论
评论(11)
实际上 web2py 非常轻量,从 GAE 上的 ~1.50 开始,它会缓存所有字节码编译的模型/视图/控制器。
不过,您需要考虑默认情况下具有基于数据存储的会话,与没有在 GAE 上工作的会话的框架相比,这可能会增加一些开销(至少默认情况下不会)。
与简单的 Google 数据存储 API 相比,web2py DAL 本身并没有增加显着的开销。
Actually web2py is very light and since ~1.50 on GAE, it caches all bytecode compiled models/views/controllers.
Nevertheless you need to consider that by default is has datastore based sessions and this may add some overhead when compared with framework that do not have sessions working on GAE (at least not by default).
The web2py DAL itself does not add a significant overhead when compared to the naive Google datastore APIs.
就我个人而言,我发现 Python 更有趣。 这就是我。 然而,有一些忠诚的 Java 开发人员会欣赏 GAE 中的 Java 支持。 此外,支持 Java 是 Google 的一个不错的选择,因为它将允许 GAE 平台潜在地托管许多其他语言。 期望所有基于 JVM 的语言都在 GAE 上运行显然还为时过早,但未来看起来很有希望。 现在,我们可以通过查看 此 GAE Java 小组页面。
回到 Python,我认为小型 Web 应用程序可以与内置的 webapp 框架完美配合。 其他应用程序将从 Django 1.0 中受益更多。 请参阅框架部分下的GAE 文章,了解一些相关内容。 无论如何,您的任何选择无疑都会受到限制,因为大多数 Web 框架在设计时都考虑到了关系数据库……而数据存储/bigtable 则不然。 此外,出于安全原因,GAE平台必须进行沙箱处理,这也在一定程度上限制了您。 希望这可以帮助。
Personally, I have found Python to be more fun. That's just me. However there are several commited Java developers out there that will appreciate the Java support in GAE. Furthermore, supporting Java was a good choice by Google since it will allow the GAE platform to potentially host many other languages. It's obviously a little early to expect all JVM based languages to run on GAE, but the future looks promising. For now we can look at what is and isn't working by taking a look at this GAE Java Group Page.
Coming back to Python, I think small web applications will work great with the built-in webapp framework. Other applications will benefit more from Django 1.0. Have a look at the GAE articles under the frameworks section for a few good reads on this. In any case, you will undoubtedly have restrictions in any of your choices since most web frameworks are designed with relational databases in mind ... which datastore/bigtable is not. Furthermore, the GAE platform has to be sandboxed for security reasons which also restrict you to some extent. Hope this helps.
尝试Spring。 它支持JPA和JDO。
现在甚至还有一个针对 Spring 的 Python 版本。
Try Spring. It supports JPA and JDO.
There's even a Python version for Spring now.
我不知道所有的选项,但我可以立即告诉您一些事情...
I don't know exactly the full range of options, but I can tell you a couple of things off the bat...
这实际上取决于你想做什么。 根据我的经验,在 Webob 之上手工制作的一些小东西对于 API 来说确实很有用。 但对于需要模板/会话/复杂路由/缓存的成熟网站来说,django 很难被击败。
请考虑到,如果您使用大型框架(如 django 1.0),第一个请求总是需要大约 3 秒的时间来加载内存中的所有内容,并将其保留在那里,直到该请求后 15 秒。
当您选择框架时,请考虑到:
It really depends on what you want to do. In my experience something small hand made on top of Webob is really good for an API. But for full fledged sites that need templates/sessions/complex routing/caching django is hard to beat.
Take into account that if you huge frameworks (like django 1.0) the first request always takes around 3 seconds to load everything in memory and keeps it there until 15 secs after that request.
And while you shop around for frameworks take into account that:
如果您正在寻找 Python,那么 Django 将是您的最佳选择。
If you are looking for Python, then Django would be your best bet.
Struts 2 据称可以在 Google App Engine 上运行(至少就示例应用程序而言)。 请关注此主题:
http://www.nabble.com/Google -App-Engine-support--td22972179.html
看来 Sitemesh 在模板方面存在一些问题,但如果您使用 JSP,应该没问题。
作为 Web 应用程序框架,这是一个不错的选择。
Struts 2 is purported to work on Google App Engine (at least in terms of the example applications). Follow this thread:
http://www.nabble.com/Google-App-Engine-support--td22972179.html
It appears that there are some issues with Sitemesh in terms of templating, but if you're using JSP you should be ok.
It's a good choice as a web application framework goes.
如果您使用 Python,我推荐 web.py。
I recommend web.py if you're using Python.
我使用新框架GAE 框架。 这与 Django 类似,但适用于 AppEngine。
此致!
I use new framework GAE framework. This is similar with Django, but work on AppEngine.
Best regards!
对于 Python,请使用 webapp2 (与应用引擎捆绑在一起)
For Python use webapp2 (comes bundled with app engine)
如果你想构建大型应用程序并需要更灵活的框架,那么你可以看看Pyramid Python框架 。 以前它被称为 Pylons。 有很多优秀的公司使用这个框架。
If you want to build large scale application and need more flexible framework, then you can take a look at Pyramid Python Framework. Previously it is called as Pylons. There are lot of good companies using this framework.