Get Ready for VMForce - Here's How!

VMForce is coming (sometime in the near future) so what can you do to get started now? If I was a betting man (with inside info), here is what I'd do to get ready.

Start Building on Google App Engine
My guess is that VMForce will look a little like Google App Engine. You'll probably have access to a wide range of Java libaries but not all of them. Based upon Salesforce.com's current model you can expect that there will be some platform governors and limits in place. This should provide you with some experience and a working knowledge of some issues you may run into. If you want to get up and running quickly you can always buy my book Beginning Java Google App Engine (yes... blatant plug).

Start Learning Spring
I would probably start with Spring MVC or Spring Web Flow 2 initially. The good thing is that most of Spring also runs on App Engine so you should be able to move any apps you write on App Engine to VMForce. Here's a great article to get you started with Spring MVC.

I would also download the SpringSource Tool Suite which is a Eclipse plugin for Spring development. It should fit in nicely with the Force.com IDE.

You might also want to dowload Spring's tc Server Developer Edition. If you are using App Engine you can develop locally but you might also want to check out tc Server. The key component of tc Server Developer Edition is the Spring Insight console, a dashboard view of real-time Spring application performance metrics. Without changing code, developers can use Spring Insight to detect, analyze and diagnose application performance issues right from the desktops. This was demoed at Google IO and it was very slick! There's a really cool video if you want to see how it works.

Dig into Persistence Layers
You'll definitely want to start working with a persistance layer like JDO, JPA or Hibernate. Based upon some recent comments from Salesforce.com, I would look at JPA first.

Develop with the Force.com Web Service Connector (WSC)
Most developers are familiar with the WS-APIs but you should really start looking at the Force.com Web Service Connector. I'm writing an article for developer.force.com on how to use the WSC so keep an eye out for that shortly.

Try Spring Roo
If you have some extra time you might want to look into Spring Roo. Roo is a lightweight developer tool that allows you to build apps in minutes. They demoed Roo and Google Web Toolkit together at Google IO with impressive results.