Date post: | 26-Jul-2015 |
Category: |
Technology |
Upload: | isham-mohamed-iqbal |
View: | 176 times |
Download: | 5 times |
Xamarin Student Ambassador
Undergraduate internIFS
@isham_m_iqbal
http://ishammohamed.mehttp://programmium.wordpress.comhttp”//github.com/ishammohamed
Understand .NET• It’s a framework, platform &
environment not language– You build code using .NET framework (equals
.NET libraries)– The code runs on the .NET platform (in the
CLR)– You need to install .NET environment (.NET
framework redistributable)
C# vs Java• Both are good, better and best on
their own aspects.• C# has continued to evolve and
emerging.• C# is faster than Java on Windows
kernel, while Java can run on any – Before 2004.
• Now C# can run on any – Thanks Mono.
Wait.. an interesting statData types Java C#
Single-root (unified) type system No; but wrapper types Yes[1]
Signed integers Yes; 8, 16, 32, 64 bits Yes; 8, 16, 32, 64 bits
Unsigned integers No; but some method support.[2] Yes; 8, 16, 32, 64 bits
Character Yes[3] Yes
Date/time Yes; reference type[4] Yes; value type
IEEE 754 binary32 floating point number Yes Yes
IEEE 754 binary64 floating point number Yes Yes
Boolean type Yes Yes
High precision decimal number No; but see 'Arbitrary size decimals' below 128-bit (28 digits) Decimal type
Arbitrary size decimals Reference type; no operators[5] No
Strings Immutable reference type, Unicode Immutable reference type, Unicode
Arbitrary size integers Reference type; no operators Yes[6]
Complex numbers No Yes
Reference types Yes Yes
Arrays Yes[7] Yes
Value types No; only primitive types Yes
Type annotations Yes Yes
Enumerated types Yes; reference type Yes; scalar
Lifted (nullable) types No; but wrapper types Yes
Tuples No; limited 3rd party available.[8] No; but standard library support with limited arity
Pointers No;[9] only method references [10] Yes[11]
Major platforms
Platform NativeLanguage Cloud & Push Services
iOS Objective C, Swift iCloud, APN
Android Java Google Play Games, Google Fit, Google Cloud, GPN…. And more
Windows Phone
C#, C++, F# Azure, WPNS
Silo approach
• The present approach adopted by 90% of the app dev companies.
• Separate teams for separate platforms for the same app.
• Can achieve true nativity.• Costly.• Ex – Facebook, Twitter, Foursquare
apps in iOS, Android and Windows Phone.
HTML5 approach• Bit earlier approach.• How many of us remember the
awful Facebook app for Android in 2009.
• In Sri Lanka, most people do this kind of silly work.
• Very low cost.• Even Microsoft gave a big support
to this until last year. • Now mostly they support
native. (and still this)
• Ex – Yamu.lk, some good games.
HTML5 approachNo magic..!
Generate a HTML5 web page
Make an (Android/iOS/WP)
app with WebView control
Load the web page created on the WebView and deliver the app..
Xamarin approach
• Real definition of Cross platform.
• Share the same code & logic among platforms.
• The FUTURE of mobile programming.
• Being adopted rapidly.• NATIVE.. NATIVE.. NATIVE..• Low Cost.• Robustness maintained.
Xamarin C# Shared backend
{iOS}C# UI
{Android}C# UI
{Windows}C# UI
Xamarin Student License• Free..!!
https://www.dreamspark.com/Product/Product.aspx?productid=100
*conditions apply