I’m taking a user interface design course this semester, and so the emphasis is on the actual UI, not on the behind-the-scenes application code. The prof has said we don’t need to create real, completely functional apps, but since the app will really just involve simple CRUD transactions, I would prefer to make something that actually works. I’d like to do a web app with the presentation layer done in Flex (Flash Builder’s design view seems easier to work with than NetBeans’, which is what the prof showed us in class, plus the job I just started last month uses Flex, so it’ll help with work, too).
Anyway I recently came across RestfulX, and in googling I discovered Jspresso, and both of these seem like really nice tools to help automate creating the application and data access layers. I’d like to learn about other similar tools, but I’m not even sure what they’re called in order to search for them.
Can anybody point me to more of these tools that would work for me (assuming more are out there)? My requirements are fairly simple: I want it to work with Flex 4.5 or 4.6, I’d like to use a serverless database such as HSQLDB or SQLite, and everything needs to be able to be run without admin privileges on Linux (so I can run the app on the school’s servers). If you know of a tool that would fit the bill, I’d really appreciate the info.
WebORB works pretty well, you can also use the built in code generation in Flex/Flash Builder (it doesn’t create pretty code but it’s functional), using the services you give it a DB connection and it spits back service and client DTO objects and CRUD services (in the form of PHP or Java classes). http://livedocs.adobe.com/flex/3/html/help.html?content=data_4.html I assume you can run XAMPP to prop up the PHP and MySQL backend. Basically when you go to create a new project you can select a server type then from there you would use the services panel in Flex, right click and create a new service, it will ask what the DB source is you give it that connection information and it gives you a list of tables, you select a table and it creates a DTO for both sides and a service file that has CRUD written up for you. You can then also easily drag and drop those services onto Flex components to bind to the result of a service call.
Another alternative is to use AIR if a web app isn’t a requirement and a full on desktop app would be acceptable. In that case you’d be able to start up a native process in the background that can be written in whatever you fancy to establish the connection to the DB and act as a proxy to pass data back to the AIR front-end (with a native process you get a pipe to the standard input/output/error that you can use as a channel to pass data back and forth). In this scenario you would write the “connector” in say Java or some other language that has a simple means to obtain a connection to a DB and execute queries with results, in that layer you’d want to format the data in some way that makes it easy for the client code to interpret… XML is probably the easiest way then you can use E4X in the client code to parse out what you need for display or storage in a model.