Our 3.0 release is a major step forward for cross-platform mobile application development. We've made it easy to port existing PhoneGap JavaScript apps to MoSync with little or no change required. We've implemented the majority of our libraries and APIs on Windows Phone 7. We've made it possible to access native widgets from your JavaScript code. There are great new C++ libraries for notifications, and APIs for advertising banner, SQL databases, and audio streaming. We have simplified the whole resource packaging process and streamlined the resource compiler. There are new code templates and example applications in the IDE, and new tutorials and user guides online. Whew!
Here's a quick summary of all that's new.
Windows Phone 7
The MoSync Mobile SDK now boasts extensive support for Microsoft's dynamic new mobile platform. We've implemented almost all of the standard MoSync C API functions in our new runtime for Windows Phone 7. And of course that means that all of our powerful C++ libraries automatically now work in applications built for Windows Phone 7 devices. And don't forget you can write pure JavaScript applications (or hybrid C++/JavaScript apps) in MoSync through our HTML5 Wormhole JavaScript Library, and those applications will also work seemlessly on Windows Phone 7 devices. How cool is that! Dev guide | Example application | Feature/Platform Matrix.
iOS, Android, Windows Phone 7
We've expanded our Wormhole JavaScript Library with many new PhoneGap-compatible JavaScript functions, as well as with support for native widgets, sensors, and notifications. That means that your existing PhoneGap JavaScript applications will run in MoSync with little or no need for change and that it is possible to easily add functionality that's not available out-of-the-box with PhoneGap. And, thanks to the Wormhole Library, it's easy to build apps that seamlessly blend HTML5, CSS and JavaScript with C/C++. Quick start | Dev guide | Running PhoneGap apps | Wormhole overview | Library reference | Example application | Feature/Platform Matrix.
iOS, Android, Windows Phone 7
One of the new APIs in our Wormhole JavaScript Library is the JavaScript NativeUI API. It gives you direct access to native user interface widgets, like navigation bars, buttons, tab screens, and list boxes. You access this library through HTML mark-up or directly from JavaScript. And you can use it side-by-side with the other API modules in Wormhole — for example, extending the capabilities of your existing PhoneGap apps. User guide | JS API reference | Example application.
iOS, Android, and MoRE
Our new Database C/C++ API provides syscall functions for reading and writing to SQL databases on the latest Android and iOS devices. We've kept its design simple to make it easy to learn to use. If you need them, high-level functions based on it can simply be implemented in your own C++ classes. The Database API allows simultaneous access to multiple databases and allows multiple results sets (cursors) to be used in parallel. User guide | C API reference | Example application.
iOS and Android
We have added support for both local notifications from other apps on the mobile device and push notifications arriving from outside the device. That means you mobile app can respond when messages arrive, or a calendar even occurs, or new data is published on a remote server. The Notifications API handles a variety of alerts -- playing a sound, badging an application icon, triggering vibration -- and you can schedule the sending of notifications from your own apps. The Notifications Library provides a C++ wrapper to simplify notification handling. User guide | Push Notifications tutorial | C API reference | C++ Library reference.
iOS and Android
With our new Advertising Library and Advertising API you can add ad banners to your application screens. So now it is easy to promote products within your application, tell users about new releases, and give them the option to purchase your and others products. The API gives you control over banner properties like size, positioning, and context sensitivity. Developer's guide | C++ Library reference | C API Reference | Example application.
iOS and Android
Our new Capture API provides a simple yet powerful interface for firing up the native camera/video controller on the device. This let's your user take a picture or record a video from within you application. The captured data is available in your application as an event and can be saved to file. The native camera/video controller is the Camera app on Android and the UIIMAGEPICKERCONTROLLER on iOS. User guide | C API reference.
iOS and Android
The new MoSync Audio API provides a range of functions for pausing playback and resuming, getting and setting the position in the audio file, and getting the duration of the song. Both streaming and non-streaming audio resources are supported, and and now background soundtracks and sound effects can be played at the same time. This means simpler sound handling in your applications, and a better auditory experience for your users. User guide | C API reference.
All platforms
We've made major improvements to the way that building packages for different platforms and devices is handled in the MoSync IDE. Our previous Device Profiles/Finalizer paradigm is still fully supported for previous projects, but for new projects you now select by and build for platform and device capabilities. That both simplifies the building of packages are makes it easier for us to support newer devices. User guide.
All platforms
We have rebuilt the MoSync Resource Compiler from the ground up. We have simplified resource handling, but the new paradigm is fully backward compatible so there is no need to change the way you handle resources if you don't want to. The new compiler allows you to organize application resources in folders and sub-folders making it easy to define different resource subsets for different platforms, screen sizes, user groups, and so on. User guide | Command reference | Example application.
All platforms
We've introduced a useful new syscall function, maDestroyPlaceholder, that lets you release placeholders back to the pool, including placeholders created by MoSync widgets. Now there's no risk of creating too many placeholders in your applications. The new syscall function not only releases the placeholder, it also destroys the object for you. (And internally we've implemented this new syscall throughout the Wormhole library to improve handling of all data objects.) User guide | C API Reference.
All platforms
We've implemented a whole new issue tracking system in Jira. That means better control and visibility of issues, better tagging and filtering, and being able to see our progress at a glance. User guide | Issue tracker.
iOS, Android, and Windows Phone 7
We've added an automatically generated checksum as part of the file bundle made from the /LocalFiles folder. That means your HTML5/JavaScript application will be able to unpack large bundles much quicker after the first unpacking. And of course, as we've said above, implemented the Wormhole JavaScript Library on Windows Phone 7, so you can now produce JavaScript-based apps for the Microsoft platform.
Android
We've added an experimental runtime for Android using the same ARM recompiler which we use in the Symbian and Windows Mobile runtimes. This runtime runs faster than the standard one but has not been properly tested and has flaws but we still want to share it with you so you can test your applications running even faster than before! Don't use this for production code just yet!
These templates are available when creating new projects in the MoSync IDE. For an overview of all the available templates, see Creating Projects from Templates.
Documentation for all examples is available at ../../../sdk/index.html.
We have also updated many of our existing user guides and tutorials: Coding Conventions, The Issue Tracker, Feature/Platform Matrix, Creating Projects from Templates, Build Configurations and Settings, Compilation, Linking, and Assembly, Resource Compilation, Resource Compiler Reference, Processing XML, Playing Sounds, Platform and Device Profiles, Scanning for a Device, Sending to a Device, Emulating a Device, Finalizing Applications, Platform and Device Database, Application Permissions, The MoSync Toolchain, The Runtime Architecture, Creating Your First C++ Application, Launching and Registering the MoSync SDK, The MoSync Emulator and MoRE, The Runtimes.
All documentation is available online at MoSync Developer Home.
Our bug fix release 3.0.1 incorporates the following additions:
The MoSync SDK 3.0.2 release extends our support for the Windows Phone 7 platform, fixes some minor core issues, and provides tighter integration with the new version of MoSync Reload, Beta3:
We have continued to improve our rapid HTML5/JavaScript development aid, MoSync Reload, adding a cool new logging feature and fixing some minor issues: