I downloaded the demo of CodeWarrior for Symbian and the Nokia s90 C++ SDK this afternoon and I can say without a doubt that the C++ emulator is ten times better than the j2me emulator. You can definitely get a feel for the environment with the C++ emulator. I built and ran the C++ Hello World program (which is a helluva lot more complex than the j2me hello world) and was blown away when the above screen popped up.
The environment is beautiful. I took the time to poke around a little bit, and everything seems to make sense so far. The only thing I am worried about is text input. It looks like your two options (at least on the 7700) will be tapping away at a virtual keyboard or using a pop-up text regognition box. Below are examples of these two types on input.
I continue to be impressed with the environment, though I do find the C++ toolchain a bit cumbersome. The Metrowerks IDE is pretty much required for writing C++ for the 7700. The C++ SDK is also a lot beefier, but you get an awesome emulator with it! The build process is run on special build files either at the command line or from within CodeWarrior. I can’t complain, I just wish that it was easier. From grokking the various examples that are included with the SDK, the C++ route is definately the harder way to go, but it so much more powerful.
The basic Hello World app requires the following files:
-
HelloWorldBasic.cpp (DLL entry point)
-
HelloWorldBasicApplication.cpp (Application that creates a new blank document and defines the app’s UID)
-
HelloWorldBasicApplication.h (header)
-
HelloWorldBasicDocument.cpp (A document object representing the data model, constructs the App UI)
-
HelloWorldBasicDocument.h (header)
-
HelloWorldBasicAppUi.cpp (App UI object that handles the commands generated from menu options)
-
HelloWorldBasicUi.h (header)
-
HelloWorldBasicAppView.cpp (Application View object that displays data to the screen)
-
HelloWorldBasicAppView.h (header file)
-
HelloWorldBasicView.rss (Resource file. It describes the app’s menus and string resources.)
The build/make/run process isn’t too hard after that:
bldmake bldfiles
abld build winscw udeb
epoc
I’ll be diving deeper in to the development environment and emulator in the coming days.