Off-topic(?): Lessons learned with Wavemaker

During the last months I was involved in a Wavemaker project. It was NOT related to vCO, as you might have expected when reading these:

It’s just a greenfield database application with some integration into existing other systems.

So here are my lessons learned so far (more will come, I’m quite sure):

  • Clear your Browser Cache. Early and often.
  • Use the Browser debug features. Firebug and Chrome Developer Tools are your friend. See here and here for details.
  • Watch wm.log for Hibernate, ServerSide and JavaServices stuff.
  • Don’t forget to go to sleep.
  • Typing of Wavemaker Variables might be tricky, when accessing them in JavaScript or passing them to JavaServices. Check the browser debugger for correct JSON!
  • The built-in (generated) Widgets for Database access are really nice and a good timesaver when you want to create a 1:1 UI for common CRUD-tasks for the database tables. If you want to do more complex things (which involve multiple tables) and in general want to understand  what happens in background, start from scratch!
  • The Community Forums on http://dev.wavemaker.com/forums/ RULE! Comparable to the PowerCLI forums (and hopefully the vCO forums over time as well) in VMTN you find good answers with a lot of ready to use code examples for every question you have… Just make sure you pick an example that fits to the Wavemaker version you use!
  • Learn Hibernate.
  • Go to sleep!
  • HQL rocks!
  • The built-it database mnodeling tools is cool, but you might get confused about the relational vs. object-oriented way for data modeling => Again: Learn Hibernate and HQL.
  • Go. To. Sleep.
  • Dear Wavemaker team: Where is my “Parameters References”-Tab in the GUI?
  • Don’t hesitate to read Jira Bug reports. There might be some bugs which are important for your use cases!
  • Do not oversee the Reference Documentation for the Client Side Widgets and the Server Side!
  • The documentation is great, but sometimes too much! You get confused when you find 3 different code examples to solve the same problem.
  • gotosleep
  • Use Eclipse and its integration to SVN/GIT for source code management, and leverage the export/import features for the deployment process.
  • Coudfoundry is a great platform for dev/test! No further local setup needed.
  • Spring Roo is not integrated yet, unfortunately 😥 . It would be great if you can leverage Roo for the data layer. See the discussion here
  • Go to slzzzzzzzzzzzzzzzzzzzz