Hi Friends,
In this blog I am going to discuss about the
IDE call "MonoDevelop" which helps the developer to develop and build
the mobile client applications (i.e., iOS and Android) and services (i.e.,
SAAS) by little understanding of C# and ASP.Net. into the cross-platform
environment.
Mono
is a free and open source project led by Xamarin (formerly by Novell and originally by
Ximian) to create an Ecma standard compliant .NET Framework-compatible set of
tools including, among others, a C# compiler and a Common Language Runtime
(CLR).
The stated purpose of Mono is not only to be able
to run Microsoft .NET applications cross-platform, but also to bring better
development tools to Linux developers. Mono can be run on many operating
systems including Android, BSD, iOS, Linux, OS X, Windows, Solaris, Unix, and
some for game consoles such as PlayStation 3, Wii, and Xbox 360.
Mono is having many innovative projects in their
accounts, but few of them are so famous in respects of mobile application
development and services environment. Several projects extend Mono and allow
developers to use it in their development environment. These projects include:
1) Cross-Platform:
- MonoCross, a cross-platform Model–view–controller design pattern where the Model and Controller are shared across platforms and the Views are unique for each platform for an optimized User Interface.
- MonoDevelop an open source and cross platform Integrated Development Environment that supports building applications for ASP.NET, Gtk#, Meego, MonoTouch, iOS/iPad/iPod, Android and Silverlight/Moonlight.
- Moonlight, an implementation of Silverlight that uses Mono. etc.
2) MacOS:
- Cocoa# – wrappers around the native OS X toolkit (Cocoa) (deprecated).
- Monobjc – a set of bindings for OS X programming.
- MonoMac – newer bindings for OS X programming, based on the MonoTouch API design.
3) Mobile Platforms:
- MonoDroid Mono for the Android operating system. With bindings for the Android APIs.
- MonoTouch Mono for the iPhone, iPad and iPod Touches. With bindings to the iOS APIs.
MonoDevelop:
An open source IDE targeting both Mono and
Microsoft .NET framework platforms. MonoDevelop is a free GNOME integrated
development environment primarily designed for C# and other .NET languages such
as Nemerle, Boo, and Java (via IKVM.NET), although it also supports languages
such as C, C++, Python, Java, and Vala. MonoDevelop was originally a port of
SharpDevelop to Gtk#, but it has since evolved to meet the needs of Mono
developers. The IDE includes class management, built-in help, code completion,
Stetic (a GUI designer), project support, and an integrated debugger. It supports
MEAP concepts as well.
The MonoDoc browser provides access to API
documentation and code samples. The documentation browser uses wiki-style
content management, allowing developers to edit and improve the documentation.
1) OS Support:
- OSX - MonoDevelop
- Windows - Visual Studio 2010 Pro or above and MonoDevelop
2) Cross-platform:
Create amazing Android/iOS (iPhone/iPad) apps with
C# and .NET
- Cross PlatformEasily share code between iOS, Android and Windows Phone 7.
- Native CodeHigh-performance compiled code with full access to all the native APIs, including UIKit.
- C# & .NETEverything you love about .NET, including LINQ, Delegates and Events.
MonoTouch and Mono for Android:
MonoTouch and Mono for Android, both developed by
Xamarin, are implementations of Mono for iPhone and Android-based smart-phones.
Contrary to Mono itself, they are released under a commercial license only.
MonoTouch - for iOS:
MonoTouch allows developers to create C# and .NET
based applications that run on the iPhone. It is based on the Mono framework
and developed in conjunction with Novell. Unlike Mono applications MonoTouch
"Apps" are compiled down to machine code targeted specifically at the
Apple iPhone. This is necessary because the iPhone kernel prevents just-in-time
compilers from executing on the device.
The MonoTouch stack is made up of:
- Compilers
- C# from the Mono Project
- Third party compilers like RemObject's Oxygene can target MonoTouch also
- Core .NET libraries
- Development SDK:
- Linker – used to bundle only the code used in the final application
- mtouch – the Native compiler and tool used to deploy to the target device
- Interface Builder and storyboard integration tools
- Libraries that bind the native CocoaTouch APIs
- MonoDevelop IDE
MonoDevelop is used as the primary IDE however
additional links to Xcode and the iOS simulator have been written.
From April to early September 2010, the future of
MonoTouch was put in doubt as Apple introduced new terms for iPhone developers
that apparently prohibits them from developing in languages other than C, C++
and Objective-C, and the use of a middle layer between the iOS platform and
iPhone applications. This made the future of MonoTouch, and other technologies
such as UNITY, uncertain.Then, in September 2010, Apple rescinded this
restriction, stating that they were relaxing the language restrictions that
they had put in place earlier that year.
Why you'll love MonoTouch.
MonoTouch makes creating iPhone and iPad apps
easier than ever before.
Cross platform development
Thinking about supporting Android in the future? In many cases, you can reuse most of your existing code when porting from iOS to Mono for Android.Discover iOS as you type
Explore APIs as you type with code autocompletion. Just like Visual Studio.iOS 5 ready
MonoTouch has all of the latest iOS 5 features bound and ready to use in the apps you create.Reuse existing code
Import existing .NET libraries and use them in your MonoTouch apps. Easily bind existing C and Objective-C libraries as well.XCode 4 and UI designer integration
Use XCode 4 and the powerful UI Designer to create interfaces and Storyboards that automatically sync with your MonoTouch project.Up to date
MonoTouch is frequently updated and ready with all of the new iOS features - typically on the same day they are released!
Mono for Android:
Mono for Android, developed by Xamarin, is a
proprietary implementation of Mono for Android-based smart-phones. It was first
released on April 6, 2011. Mono for Android was developed to allow developers
to more easily write cross-platform applications that will run on all mobile
platforms.
In reference to the lawsuit filed by Oracle
against Google over Android's use of Java, that "The type of action Oracle
is taking against Google over Java is not going to happen. If a .NET port to
Android was through Mono it would fall under the Microsoft Community Promise
Agreement." Recently Google has won against the Oracle filed lawsuit in
favor for them about the same.
The Mono for Android stack consists of the
following components:
- Mono runtime
- Libraries:
- Core .NET class libraries
- Libraries that bind the native Android/Java APIs
- SDK tools to package, deploy and debug
- Visual Studio 2010 integration to remotely debug and deploy.
Why you'll love Mono for Android.
Mono for Android makes creating Android apps easier
than ever before.
Cross platform development
Thinking about supporting iPhone or iPad in the future? In many cases, you can reuse most of your existing code when porting from Android to iOS.Discover as you type
Explore APIs as you type with code autocompletion.Full featured
Mono for Android has all of the latest Android features bound and ready to use in the apps you create.Reuse existing code
Import existing .NET libraries and use them in your Mono for Android apps.The Full Power of Visual Studio
Continue using Visual Studio or use our full featured MonoDevelop IDE to create apps using Mono for Android.Easy To Install
Installing the Android SDK can be time consuming, but Mono for Android simplifies the process by installing everything you need with just a few clicks.
This is an ad, right?
ReplyDeleteHere is useful link for creating a simple Hello world app in mono
ReplyDeletehttp://geeksprogrammings.blogspot.com/2014/06/create-you-first-app-in-monodevelop.html
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteHello,
ReplyDeleteThe Article Give Detail information about MonoDevelop Design and develop compelling cutting edge client application software for the MacOS and iOS/Android platforms .It give Descriptive information .Thanks for Sharing the Article.Xamarin Apps Development
Thanks for the appreciation, pleased!
DeleteThis comment has been removed by a blog administrator.
ReplyDelete