October 31, 2008

Test Run, Deploy, and Size Issues

There have been a couple of forum posts lately having to do with the payload of a typical WaveMaker application. While we are not the lightest-weight platform out there, and we have yet to optimize for mobile use, there are a few things to point out:

1. When you click “Run” in the studio, the resulting application is actually not the same as when you generate a WAR file. When you “generate WAR” from the studio, we perform a build that includes combining JavaScript files, reducing requests, and decreasing payload.
“Run” actually means “Test Run”, which we should make more clear. Test Run actually intentionally leaves all the javascript exploded, so you can easily debug, and so that the application appears faster without the overhead of a build. So Test Run can have a payload of a couple hundred requests and nearly 1MB, while the actual WAR file we generate has a far more modest number of requests and payload size that is in- line with other Ajax applications. So if you are benchmarking us, please do so on the actual deployed WAR, not running from studio.

2. Currently, we do not optimize payload based on what widgets you use. So a 1-widget app downloads the entire widget set. Again, this is more apparent in Test Run - our javascript build makes things somewhat better in deployed applications.

3. That said, we are almost done with a performance-themed release. We should make some further gains in both payload as well as rendering speed. Stay tuned for more details as the release nears.

Comments (0)  Filed under: Uncategorized — admin @ 8:28 am

October 20, 2008

Next Week - Ajax Master Tutorial

We’re finding great traction in our Community with our Ajax Master Tutorial series.  Here’s the next couple of installments (click on the name to find out more):

Filtering and Displaying Data With WaveMaker

Data selection and presentation are critical aspects of a successful data driven application. This session will focus on using the data filtering and sorting options available to developers in WaveMaker studio. Particular attention will be made to the options provided by liveVariables.
Presenter: Ed Callahan, Director of Technical Services, WaveMaker
30 October 2008, 11am PT

Upcoming:

Using LDAP Security With WaveMaker

LDAP is often used by organizations as a central repository for user authentication and role information. In this tutorial we will show how to set up security against LDAP in WaveMaker.
Presenter: Frankie Fu, Senior Software Engineer, WaveMaker
18 November 2008, 11am PT

Comments (0)  Filed under: Uncategorized — admin @ 10:09 am

October 15, 2008

LiveData

In WaveMaker 4.0, we introduced a system for building data-driven applications quickly with little to no code. We called it LiveData, which is utterly un-trademark-able, much to marketing’s chagrin. It involves a few pieces that when used together make life easier:

1. LiveTables - this is the only piece of this system that predates 4.0, but it had a different name. This is the name for the schema for your database that exists in WM. When you connect to a database and import a schema, or build one from scratch in the data model editor, we create a set of POJOs to represent your data and the relationships between them. LiveTables map directly 1-1 to your database tables.

2. LiveViews - New in 4.0, LiveViews are collections of LiveTables and their related items. If you want to do CRUD (database operations) on more than one, related LiveTable, go to LiveViews to create this set of related objects.

3. LiveVariable - This is a variable that stores an instance of your LiveView or LiveTable on the page. To use LiveData, you need to create one of these and set its dataSource property to the LiveView or LiveTable you want to perform operations on

4. LiveForm - This form, when bound to a LiveVariable, constructs editors for each form element, and handles new, delete, insert, and edit functionality. You can even bind this form to a grid’s selectedItem to do list-detail style forms.

When you use these items together, you can create data-driven applications with no code. If you want to do something custom, LiveForm and LiveVariable have lots of events you can call custom code in as well.

In the near future we’ll be extending LiveData to web services as well as any POJO in the system, regardless of source.

Comments (0)  Filed under: Uncategorized — admin @ 11:48 am