This question possibly doesn't belong here. We'll see how the answers pan out, if this doesn't belong here please move it to where it belongs.
I'm following the getting started guide for Google App Engine, and I'm seeing what it can and can't do.
Basically, I'm seeing it's very similar to an MVC pattern. You create your model, then create a View that uses that Model to display information.
Not only that, but it uses a controller of some kind in this fashion:
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
My question is, why would you use this Google App Engine if it's the same as using a number of other MVC frameworks?
Is the only benefit you gain the load balancing being handled by Google automagically?
What is a good example of something you would need the App Engine for?
开发者_如何转开发I'm trying to learn, so thanks for the discussion.
Google App Engine isn't a framework. Google App Engine is platform as a service. The App Engine is a platform for developing applications where the server components are managed for you by Google so that you aren't distracted by the mundane details of configuring a server. It let's you focus on what you do best, building software to solve a business problem.
There are many different frameworks for App Engine. A framework isn't the same as a platform. Take the Java SDK for App Engine for instance. I have a version of the JQuery Form builder, built in PHP, running on App Engine using the Java Querces servlet to interpret the PHP. Another developer I know has used Struts on App Engine, Restlets, and Spring.
Examples of what you can do:
- Host a company website
- Host a live chat application using the ChannelAPI (Comet for App Engine)
- Host a blog using Bloog or other Blog software written in Python
- Many more things
Spring and Struts are MVC frameworks whereas Restlets is a REST framework. The JQuery Form Builder I have running isn't on a framework at all as it was a hackjob solution using Querces to run PHP on App Engine.
In short, there are probably a number of frameworks you can use for Python's SDK for App Engine as well, but App Engine is not a framework.
In short, you can choose to host the application yourself or through a pay-for provider, or you can use Google's next generation model.
Perhaps the most attractive thing for me about Google App Engine is how fast I can get something running, even programming in Java. The App Engine SDK will hot-swap changes by compiling the code after every change. Deployments are also one-click in Eclipse. I can have something in production by just clicking a button.
There is also a lot of scalability on platform as a service models, which can scale up or down depending on the volume on your application.
Lastly, it's free for low usage.
I think this question misses the point of app engine. The question assumes app engine is just a web framework, but it is really an entire platform. A web framework is one layer in a stack of software that is required to run a web site. Most websites will also need a database, an operating system to run the software and database on, physical servers to run all that on, etc. App engine gives you all that wrapped up in one integrated package, which you can pay for as you need it. Plus you get some for free if you are just getting started.
Is the only benefit you gain the load balancing being handled by Google automagically?
This is a huge benefit. Have you ever tried to run a web site that is big enough to need multiple servers? How much did it cost? How much time did you spend configuring servers, patching them, etc?
The main benefit of App Engine is it's scalability for relatively low costs. This brings it's own negative points though. Because of it's scalability it locks you in to doing stuff 'their way' which leaves a plethora of 'gotchas' when first setting up.
I could list all the points but pretty much everything I have to say can be found here... Pros & Cons of Google App Engine
精彩评论