- Installed MonoTouch on MacBook Pro. This only builds for iOS. Need Mono for Android to build for Android devices.
- The installer will download and install MonoDevelop, the Android SDK, and Java runtime if not already installed.
- Idea is that you are able to reuse all your non-UI code for both platforms. Only Android and iOS supported. MonoTouch contains bindings for nearly the entire iOS SDK.
- MonoDevelop is the IDE used for development.
- MonoTouch for Android uses same the same IDE as MonoTouch for iOS, it is called MonoDevelop.
- If you already have VisualStudio you can install a plug-in that will allow you to develop and debug in VS.
- Lots of documentation at http://docs.xamarin.com/
- MonoTouch requires the iOS SDK and Xcode in order to compile. Additionally, the iOS Device Simulator is part of the iOS SDK, and therefore only available on Mac.
- Going through Getting Started demo to create Hello World application.
- Created HelloWorld project. Classes and code is very familiar. Same as an Xcode project except in C#.
- Double clicking Xib file in MonoDevelop opens file in Xcode Interface Builder. All UI layout and creating action and outlets is done here.
- Slightly annoying to have to switch back and forth from Xcode to MonoDevelop. Reminds me of old Interface Builder app which was separate from Xcode.
- Able to build and get HelloWorld app running quickly. Easy for me since I'm very familiar with Xcode. More challenging for those with no experience.
- According to Xamarin you can package and distribute your apps from directly within MonoDevelop.
- Trial version of MonoTouch does not allow you to build a native app package, can only run apps in simulator. Can't verify Xamarin's claim about ease of packaging apps.
- The challenging thing for a developer responsible for creating apps for both platforms is that you really need to know iOS, Android, a bit about Xcode and Android development tools as well as MonoTouch tools and APIs. A lot to grasp.
- In a multiple developer size team where you have existing iOS and Android developers MonoTouch becomes more attractive. Now these developers can share non-UI code and use same toolset.
- The Android app model is different than iOS, Mac OS X, or Windows in that there is no static main() entry point for the application. Android apps are made up of loosely coupled classes called Activities, Intents, and Services. These are normally entered in AndroidManifest.xml file by he developer. But in the MonoTouch environment the same info is configured by using C# attributes in the class source file and a new AndoridManifest.xml file is built at compile time.
- MonoDevelop locked up on me a couple of times while trying to stop a running application and rebuild and reload it into the emulator. Had to use "Force Quit" to restart.
- Layout of UI for Android apps can be done inside MonoDevelop unlike MonoTouch for iOS where the layout is done inside Xcode.
- Unlike other multiplatform mobile app development frameworks were you use the frameworks own UI components for all platforms, with MonoTouch and Mono for Android you use the native UI widgets.
- Using C# and it's garbage collection for both Android and iOS platforms will be attractive for .Net developers.