Which web development framework works best with Go

2019-06-16 04:55发布

Now that Google allows Java on App Engine, I'm wondering what effect this has on a choice of web framework for App Engine.

  1. I realize Google provides the webapp framework which is pretty barebones.
  2. And the .96 version of django that's available for App Engine is restrictive.
  3. web2py burns up resources, from what I've heard.
  4. Rails (now available) can't use ActiveRecord, ActiveResource, restclient, rmagick.

Is there something I'm missing - do any frameworks work well on App Engine?

11条回答
劳资没心,怎么记你
2楼-- · 2019-06-16 05:34

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.

查看更多
Emotional °昔
3楼-- · 2019-06-16 05:37

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.

查看更多
一夜七次
4楼-- · 2019-06-16 05:39

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.
查看更多
Melony?
5楼-- · 2019-06-16 05:41

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.
查看更多
可以哭但决不认输i
6楼-- · 2019-06-16 05:41

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.

查看更多
倾城 Initia
7楼-- · 2019-06-16 05:42

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.

查看更多
登录 后发表回答