MasterofProject

Please login first

Tel: 010-57410251|

Xamarin Product details Price description training course Blog post Software mall
Product introduction Principle description Four modules Five major features Six major functions Other solutions Overview of development methods Common technical problems

Xamarin profile

Xamarin is an open source project that was originally developed by the Mono project on the Linux program, which was originally developed by the C# project. Later published in support of Mono iOS Touch framework and For Android Framework Mono. So it's not a new product on the market. 2011, originally in the Mono Novell project team to set up an independent company, officially changed the name to Xamarin.

Xamarin is a mobile app development platform, provides a cross platform development, developers through xamarin development tools and programming languages, will be the development of the IOS, Android and windows platform native (native) app, does not need to be individually using the platform the development of industry and trade with and programming languages, not just "write-once, run everywhere" cross platform solution, it can achieve the "write your code once, and present native UIs on each platform." cross platform development ability. Because Xamarin can directly produce the native App application of each platform, compared to other cross platform program, by App developed by Xamarin application, more can play the function and characteristics of each action platform, and has the best performance.

Principle description

Xamarin is a small cross platform mobile development tool to provide native solutions on the market, native applications should include the following features:
Using the standard user interface and in line with the design guidelines for each mobile platform. Collocation device hardware to provide optimized performance. Be able to complete the function of the hardware of the device.

Xamarin will be native (Native) IOS and API Android conversion to C# function library for users to use, developers can use C# to write programs, and call the native platform (IOS, Android) API, and through good design, you can share part of the program code in different platforms. Developers can compile the program through the Xamarin, the program will be compiled directly to the implementation of ARM files, and the package of the various platforms. Compiler package is completed by the App as a result of no intermediate translation, directly compiled into the native binary implementation file, and therefore has a good operating efficiency.

Four modules

Xamarin development platform mainly consists of the following 4 parts:
Development programming language:Xamarin to C# as a development program language, developers can write directly to the development of C#. Integrated development tools:Xamarin provide integrated development tools (IDE) xamarin studio, developers can directly in the tool of development, debugging, testing and simulation and other operations. Xamarin is also targeted at the Visual Studio Microsoft to provide attached hanging Kit (Plug-In). Cross platform development framework:(Mono.Net Framework) Xamarin development framework, support implementation of cross platform (cross-platform implementation). Compiler:Xamarin with the various platforms of the compiler, can be directly compiled into the iOS and Android platform machine code.

Five major features

Rapid establishment of native (Native) mobile device applications:
Through C# affinity and fully functional language features, collocation Framework Base Class Library.NET (BCL) convenience, so that developers can develop mobile device applications with the highest productivity. Currently Mono supports C# 5 language specification, developers can use Expression Lambda, LINQ or even Async/Await asynchronous processing.

Program code sharing:
The current Objective-C application developed by the iOS and the Android application developed by Java, can not achieve the program code sharing. Xamarin is the use of C# writing, so through good design can be business logic, data access and sharing between different platforms, to write. In addition to save the time cost of re writing, for the maintenance and consistency of the version also has a considerable help.

Integration with Studio Visual:
Xamarin provides Studio 2010/2012 plug-in Visual, so that the original familiar with the Studio Visual developers do not have to be familiar with other development tools. In the establishment of the project, you can directly establish iOS and Android project template. Development teams can also be the IOS and Android program code into the ALM, using Team Foundation Server version and the establishment of the management.

Ensure the first time update:
Xamarin for iOS and Android version update spare no effort, in the SDK iOS 5, 6 to 6.1, and Apple on the same day published the corresponding Framework version. 7 will also be published on the same day. And Android and xamarin even the Android source code, from the original Java replaced by C# re written, and efficiency has been greatly improved.

Native application efficiency:
Xamarin for iOS and Android platform development compiler. C# program code directly compiled into the CPU ARM machine code. So the effectiveness will be compared with the native mode development application, there is no difference. And on the Android system, because the Xamarin does not use the Dalvik Android virtual machine, instead of using CLR, the test of its effectiveness even more than the native applications.

Six major functions

Full platform developmentXamarin can use familiar C# to write iOS, Android, Mac and Windows applications.
Program code reuse (Reuse) Use your favorite C# and.NET library, easy to use the third party's Library Native and Framework.
Intelligent input When developing an application, the development tool will detect some of the letters you have entered, looking for the corresponding API and automatically completing your input.
Integration with Studio Visual Establish, build in Visual Studio, debugging and deployment. You can also use your favorite plug-in, such as ReSharper. and integration with TFS.
Primary user interface and performance Xamarin to bring you the high efficiency of the experience and complete corresponding to the various platforms of the API Native. Therefore, through Xamarin, your application can fully play the unique performance of the device.
UI designCurrently in Studio Visual has been integrated UI Android design capabilities, UI iOS editor currently still need to rely on Xcode. But the development team has started to develop. Look forward to it!

Other solutions

The following table is a comparison of the methods for developing App applications on mobile platforms:

  Web Mobile Hybrid App Interpreted Compiling Cross App Native
Representative products Mobile HTML5/JQuery PhoneGap Titanium Xamarin Objective-C/Java
Cross platform capability strong strong in in low
User experience in in in strong strong
Offline capability nothing Yes Yes Yes Yes
Integration and function weak Yes in high strong
Learning threshold low low low in  

In the development method of the table, the operation of cross platform for Web Mobile, Hybrid, App Interpreted and Compiling Cross and other 4 kinds, Xamarin is the use of Compiling Cross method.

Web Mobile method:
As a pure browser solution, can not effectively play the functions and characteristics of the various mobile devices and platforms, non real mobile App application development.

Hybrid method:
Is not the use of native user interface, reduce the user experience, Hybrid method using multiple platform minimum shared control (Common Denominator Lowest). Security concerns: due to the Hybrid approach is based on the front-end technology, so in the past will be vulnerable to attack, after the conversion platform to app, still exist. Hybrid method is not able to manage memory and related system resources. Engine browser of each device to HTML5 and CSS3 level of support is different, the application process to adjust to meet the majority of the mainstream platform will have hidden risks and costs.

Interpreted method:
Is not the use of native user interface, reduce the user experience, Interpreted method can only use a number of platforms to share the minimum control (Common Denominator Lowest). Security concerns: due to the Interpreted approach is based on the front-end technology, so in the past will be vulnerable to attack, after the conversion platform to app, still exist. Interpreted method is not able to manage memory and related system resources. Engine JavaScript in various devices to support the degree of. JTitanium need to go through literal translation and compilation of 2 procedures, rather than direct compiler.

Overview of development methods

Common technical problems

Q: how to install Xamarin?
A: please checkHttp://thinkpower.info/xamarin/cn/Article_01.aspx? Idx=01#xamarin_top?

Q: if the network environment can not be activated by the impact of how to do?
A:1, the computer can be changed to the Internet environment, online activation.
2, please follow the platform (Xamarin.iOS, Xamarin.Android) the way to download offline authorization documents offline activation.
[Android]:Http://docs.xamarin.com/guides/android/getting_started/installation/offline_activation/
[iOS]:Http://docs.xamarin.com/guides/ios/getting_started/installation/offline_activation/

Q: how to combine the graphics platform tools, such as: ArcGIS, in the application and compatibility of the map, the app store apple shelves are 100 percent success?
A: any system that provides native API (iOS, Android) in Xamarin can be integrated through the binding, please refer to the following link:
A Java Library [Binding (.Jar)]Http://docs.xamarin.com/guides/android/advanced_topics/java_integration_overview/binding_a_java_library_ (.Jar)
Objective-C] http://docs.xamarin.com/guides/ios/advanced_topics/binding_objective-c [Binding
Shelves success or not depends on whether the app store Apple review guideline https://developer.apple.com/appstore/guidelines.html (such as the following link), not because of the use of Xamarin development and have an impact.

Q: upgrade issues, under what conditions need to be upgraded, such as IOS update to 7, 8, a version of the upgrade? Or your company's upgrade edition, if it is the latter, not to upgrade. Ios7, 8 also can be developed, just missing some of the new features?
A: upgrade is to xamarin version, rather than IOS or Android version. When the user subscriptions expire and not renew, a user can use the final version of the development. Supported platforms with xamarin version at the time. For example user contract at maturity by the end of August this year, and did not renew their contracts, IOS 7 launched in mid September, the user cannot for IOS 7 development.

Q: is currently using eclipse to write app Android, for iOS also need to learn object-C, Xamarin is really a lot of convenience, Xamarin can make mobile phone wireless debug?
A: please refer to:
[iOS]:Http://docs.xamarin.com/guides/ios/deployment, _testing, _and_metrics/debugging_in_xamarin_ios
[Android]:Http://docs.xamarin.com/guides/android/deployment, _testing, _and_metrics/set_up_for_device_development

Q: how can I get the Xamarin experience?
A:1. to participate in Xamarin public training courses.
30 download the full version of the test for 2 days:Http://xamarin.com/downloadNote]Compile compiled files after the use of 24 hours to re compile.

Q: what is the function of the Xamarin can not be done?
A: please refer to: http://docs.xamarin.com/guides/ios/advanced_topics/limitations

Q: what are the successful cases?
A: please refer to: http://xamarin.com/apps

Q: other instructions?
Jar with eclipse development of the A:1. file must be to give the use of Android, before it can be carried out in binding. Xamarin
2 collocation's Studio Visual must be a paid version of 2010/2012/2013 (Professional, Premium, Ultimate).