Series 90 C++ Emulator and Development Environment


Posted

in


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.