Our goal this year with MonoTouch is to make sure that we deliver the best developer platform possible. Our focus is to make sure that the tools, the language and the APIs that developers require are in place.
As more developers use MonoTouch, we want to make sure that MonoTouch becomes better on every iteration. MonoTouch is already an incredibly pleasant way of developing applications, and we want to ensure that developers are empowered by MonoTouch improvements.
These are the themes in our work:
- Improve the MonoTouch developer experience.
- Support the new iPhoneOS APIs
- IDE and tools.
MonoTouch Developer Experience
- Keep up with Apple releases
- As Apple releases new versions of their APIs, we will release updates to MonoTouch to cover the new APIs. At the time of this writing, Mono is fully caught up with the latest unpublished Beta from Apple.
- As Apple releases new products based on iPhone OS, we will ship updated APIs for those platforms. At the time of this writing, the MonoTouch Alpha release supports the published API for the iPad (available in the Alpha channel).
- Improve the development cycle:
- Reduce compilation times
- Reduce testing times.
- Deployment:
- Improve the code quality
- Mono's code gen is being improved continuously for the ARM.
- We are aggressively adding support for the LLVM optimizing Compiler to Mono, and we will bring this same functionality to MonoTouch.
- Reduce the executable size:
- Invest on our linker
- Remove unused Mono components from MonoTouch
- Implement more code transforms that reduce code size
- Improve application startup time.
- Bundle more .NET APIs
- Bring more .NET APIs that developers are using with Silverlight and the Desktop edition of Mono to MonoTouch.
- Pre-package existing open source libraries for MonoTouch developers.
IDEs and Tools
We are investing in MonoDevelop to offer more features that developers need to be more productive.
- For an overview of the upcoming changes for MonoDevelop, please consult the MonoDevelop/Tasks page.
- Extend Mono for Visual Studio to allow developers to use Visual Studio to develop iPhone applications. You will still need a Mac computer to do the builds, code signing and testing, but you will be able to develop from within Visual Studio to work on this.
MonoDroid
Mono for Android will have an entirely different set of APIs, at most you would be able to reuse business logic, but any user interface and device specific code will have to be rewritten.
We are expecting a preview in Q3 2010.