Appengine Rapid Application Development Platform - google-app-engine

I am not sure whether i should call this next big idea but we need to take rapid application development to next level.
Example : I type in google search (assuming i am logged in using google account)
#appspot #myemployeeapp #select name,address from employee where rating >10
Outcome : Should Generate working appengine app
http://myemployeeapp.appspot.com
[this app will automatically generate various screens to create,edit,delete,update employee name,address,rating.
This will revolutionize the way non programmers can generate and organize data with a single query and focus on their business problem.
1.My question to this community : Are there any tools which help me generate UI based on my datastore model or sql query. I want standard UI based on the model and relationships.
Are there any other rapid development tool this community wants to recommend on appengine platform.

Grails with Grails AppEngine plugin, maybe.

I think Grails will be right choice for your requirement. It provide the scaffold view for your domain model.

Related

How to develop a simple database based project

I want to start an information provider service. It works this way:
Some employees will find the information needed and fill a database manually.
Users will request data they need on their client side apps on their own platforms. Some of the project specifications is as follows: 1) Data that will go between database server and clients is really small(Suppose some ordinary images). 2) The client side apps don't need to be kept updated. Once the user of app clicks update button(for example) the app will request the server to send required information. 3)It's important to run client side apps on several platforms like: windows, windows phone, android, ios,... 4) Database doesn't need to be vary fast or vary big.
Note: And It's important to note that I'm not expert and I have some limitations. I know java and html, css, javascript. But I think those are enough for this project. (Am I right?)
So I decided to design this development architecture:
1)Using hibernate and provide a layer for server which stands above hibernate and is used to do database-specific tasks. This layer provides some protocols for client side apps to communicate with server. It enables me to change database later without changing client side apps. 2)Using PhoneGap which is a framework that uses html, css, javascript and produces apps for many platforms.
I really appreciate any suggestion, comment,... Thanks!
The fastest way in Java world would be spring boot. Basically you can configure whole application: datasource, orm, persistance layer and rest services just by adding proper annotations. There are many examples of how to do it. Basically with current implementation of spring jpa and web services you can bind mapped resources to rest services. Also current JPA can generate SQL for you using DAO method name. SO e.g. findPersonByName will generate proper sql for you (of course you need to map your db model in entities but this is also simply done with annotations).
Yes, this is a sufficient tech stack to accomplish your goal. You will have to decide how much logic to implement server-side vs app-side.
Pick a java framework for providing an API so that you can expose a restful API to your apps.
Here are a couple of comparisons from stack overflow:
Which is the best Java REST API?
Easiest frameworks to implement Java REST web services
no! for database you need server side scripting language, like php or perl, java-script is client side and will only work on browser. i recommend first learning mysql database, just the basics how to create Db, table, insert and fetch. then some PHP. i think these will set the ground for your project. '
for development environment : download XAAMP! it comes complete with Sql-database base and PHP.

Pre populate client database with PhoneGap (primary target Android)

There have been a few articles and questions about how to do this but they all seem to have a bias to iOS.
So first of all I am currently using PhoneGaps database functionality:
http://docs.phonegap.com/en/1.0.0/phonegap_storage_storage.md.html
I have a database I need for the app to run from as it contains a lot of information, probably about 1mb worth (can be exposed as .db/.sql). So I want to be able to make my PhoneGap app and build it for as many platforms as possible. However I want it so that as soon as the user has installed the app it automatically installs the database for them.
Some of the solutions seem to recommend creating the database on first boot, but this just seems a bit hack-ish and sidestepping the problem.
I am more than happy to switch over to use webSQL if Android, iOS and other providers support it, however as PhoneGap wraps any available native OS DB functionality it seemed more realistic that you can get an app to pre-populate an Android database and access it via PhoneGap than pre-populate a web database and access it via webSql.
Hopefully this question makes sense and there have been advances since mid last year, which seems to be the last up to date post on this sort of thing.
I just answered another similar question on this topic. First PhoneGap doesn't implement the Storage function that is documented. In fact we take advantage of the sqlite and localStorage functionality that is implemented in all webkit based browsers.
My recommendation is for you to pre-populate a SQLite DB and on application startup copy the DB to the correct location so your app can access it. There is a good blog post on this topic at:
http://gauravstomar.blogspot.com/2011/08/prepopulate-sqlite-in-phonegap.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GauravSTomarBootstrappingIntelligence+%28Gaurav+S+Tomar+%3A+Bootstrapping+Intelligence%29

How does one deploy after building on force.com

I've been directed to force.com as an alternative to creating an application using PHP and MySQL. My question is about deployment. What happens after I build the application on force.com. If the application is based on their API, will I be able to serve this application from my own domain if I wanted?
Simple answer is "no".
Your application is hosted on their servers, built in their own language (based on Java and Oracle DB but you'll never see them directly). You will create your application mostly with clicking through the setup (even for adding fields to tables there's GUI, no way to say ALTER TABLE ADD COLUMN), in some rare cases when you'll need complex logic you might resort to programming in Apex and Visualforce - but these languages won't work outside Salesforce.com platform.
Having said that - of course you can use your own domain name (to literally "serve this application from my own domain") and there are many integration possibilities so Salesforce app could interact with other application written in PHP for example... But there is no straightforward way to create your own "salesforce server" like you'd install an Apache or MySQL server.
You rely on their service for both hardware and software which will act as web server, execute your custom code etc.
Last thing - if you hope to build something reusable that might be helpful to other companies and you'd like to sell it in some sane way (not having to repeat all the clicking in each client's environment etc), have a look at appexchange. It's a place where you can find many pre-built Force.com apps (think about them like plugins to Wordpress, Joomla, osCommerce...).

auto updating software on cloud

I know wordpress,joomla,drupal etc ( most of php_mysql stack ) can auto detect update in software itself or/and plugin and either ask for user permission to update or auto update it.
How to do similar thing on google app engine like cloud computing ?
I am creating an open source software which is targeted towards non-computer people. who can not clone my code and update their application easily.
what is the easier way to do this ?
While it's technically possible for an app to re-deploy itself, implementing this functionality would be difficult, and may be contrary to the Terms of Service, too.
If you want non-technical users to use your app, your best option is to provide it as a Software-as-a-Service app - eg, a single instance that users pay for access to, and which supports multi-tenancy - and update it yourself.

Zend Framework. What is the best way to administer your site/app?

When developing for the Zend Framework is it common for developers to have to build a custom backend admin area for each unique app? Or is there a popular 3rd party backend tool people are using to manipulate your app's database?
I'm thinking of learning ZF but what stands out is how do you keep an eye on what users are doing with your app?
You have two basic choices:
Create two modules: frontend and admin. All your controllers live within
Within each module have an admin controller within the module to adminstrate it
In either case, I use a Front Controller plugin to swap the layout to admin.phtml so I have a different look and feel for my administration system. This is of course, optional :)
I tend to create an 'AdminController' specific to the application if there are too many administrative functions, or an Admin Module if there are (or there is a real possibility for the number of administrative functions to increase).
Well, in general I consider it enough to manipulate my db with let's say phpmyadmin or directly in my IDE (Aptana).
For the tasks I want to allow certain administrators to perform online I write an admin controller. Such tasks are mostly so specific, complex, dynamic that some kind of generic generator system wouldn't probably help a lot.
Still, there is at least one so called 3rd party tool I know of which falls into the category you're mentioning in your question.
DataGrid for Zend Framework
ZendFramework is not a Toolkit to create specific Application with users and, lets say articles etc. So there can't be such a 3rd party tool. I would create a admin module, not a controller, because that means you have just 1 File for all admintasks.

Resources