SlideShare a Scribd company logo
Mono for
  Android Development
Monday Presentation by Codrin Dițu
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                                 Topics
•   Basics
•   Overview
•   Architecture
•   API
•   Demos
•   Myths
•   Benefits
•   Conclusions



                                                             CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits




                    What is Mono?                              Mono?




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                              Mono
• is an
  open source implementation of .NET
  Framework based on the ECMA standards




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                              Mono
• is an
  open source implementation of .NET
  Framework based on the ECMA standards
• aims to be the
  leading choice for development of Linux
  applications




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                              Mono
• is an
  open source implementation of .NET
  Framework based on the ECMA standards
• aims to be the
  leading choice for development of Linux
  applications
• allows developers to
  easily create cross platform applications


                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits




                What is Android?                             Android?




                                                         CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                     What is Android?
• world’s most popular mobile platform
  (48,6 US market share, January 2012)




                                                           CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                     What is Android?
• 1st release in October 2008, 5th this fall 




                                                           CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                    What is Android?




                                                          CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                     What is Android?
• full software stack, based on Linux 2.6




                                                           CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                     What is Android?
• apps typically are written in Java
  (SDK provides tools and Java API)




                                                           CODRIN DIȚU
Basics   Overview    Architecture   API   Demos   Myths     Benefits


                     What is Android?
• apps typically are written in Java
  (SDK provides tools and Java API)




                                                           CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


               Android architecture




                                                         CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


           Android key components
• Activities
  single screen with an UI




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


           Android key components
• Activities
  single screen with an UI
• Services
  background running long operations




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


           Android key components
• Activities
  single screen with an UI
• Services
  background running long operations
• Content Providers
  organized mechanism for data sharing




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


           Android key components
• Activities
  single screen with an UI
• Services
  background running long operations
• Content Providers
  organized mechanism for data sharing
• Broadcast receivers
  respond to system-wide announcements



                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits




            What is Monodroid?                              Monodroid?




                                                         CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits




         Mono for Android


                                                         CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits




          Mono for Android
Commercial
Product
develop native
Android apps
using .NET
                                                          CODRIN DIȚU
Mono
 Basics   Overview   Architecture   API     Demos   Myths     Benefits
                                          Runtime
                                          use .NET
                                          standards
                                          LINQ, GC, lamba
                                          s etc

          Mono for Android
Commercial
Product
develop native
Android apps
using .NET
                                                            CODRIN DIȚU
Mono
Linker
  Basics   Overview   Architecture   API     Demos
                                           Runtime
                                                     Myths     Benefits

reduces app
size by static                             use .NET
analysis of your                           standards
application                                LINQ, GC, lamba
                                           s etc

           Mono for Android
Commercial
Product
develop native
Android apps
using .NET
                                                             CODRIN DIȚU
Mono
Linker
  Basics   Overview   Architecture   API     Demos
                                           Runtime
                                                     Myths   Benefits

reduces app
size by static                             use .NET
analysis of your                           standards
application                                LINQ, GC, lamba
                                           s etc

           Mono for Android
Commercial
Product                                                   Complete
develop native                                           binding for
Android apps                                                Java /
using .NET                                                 Android
                                                              API
                                                           CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


            Monodroid Architecture
• Android/Managed Callable Wrappers
  (JNI bridges to do the talking)




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                     Monodroid API
• .NET events replace listener interfaces




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                     Monodroid API
• .NET events replace listener interfaces




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                     Monodroid API
• Action replaces Runnable


public delegate void Action<in T>( T obj )

Example:
Search(string query, Action<IEnumerable<Tweet>> callback)




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                     Monodroid API
• Action replaces Runnable




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                        Monodroid API
•   Enumerations
•   Properties
•   Attributes and tooling generate configuration
•   OpenTK
•   Uses standard Android resources




                                                             CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                               Code
• MonoDevelop or Visual Studio 2010
• tutorials on android.xamarin.com




•DEMOs
                                                          CODRIN DIȚU
C# Code (Mono for android)




                         HelloWord native
                       Android Application
Java Code (the standard way)




                          HelloWord native
                        Android Application
Basics   Overview   Architecture   API   Demos   Myths     Benefits


     Why bother with Mono after all?
• Mith #1: the build apps are not native

  Uses the exact same
  libraries as native
  apps

                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


     Why bother with Mono after all?
• Mith #1: the build apps are not native
• Mith #2: it is for the lazy ones

  You have to learn
  the native framework

                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


     Why bother with Mono after all?
• Mith #1: the build apps are not native
• Mith #2: it is for the lazy ones
• Mith #3: the build apps are slower

C# on Mono VM
Java on Dalvik VM

                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


        Why bother with Mono after all?
•   Mith #1: the build apps are not native
•   Mith #2: it is for the lazy ones
•   Mith #3: the build apps are slower
•   Mith #4: it is a hard approach
    Java and C# are … similar, plus you
    have support from support from
    Xamarin (and
    google, stackoverflow, etc.)

                                                             CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


        Why bother with Mono after all?
•   Mith #1: the build apps are not native
•   Mith #2: it is for the lazy ones
•   Mith #3: the build apps are slower
•   Mith #4: it is a hard approach
•   Mith #5: no reason




                                                             CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                           Benefits
• Benefit#1: cross platform (except GUI code)




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                          Benefits




                                                         CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                           Benefits
• Benefit#2: less code  less bugs




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                           Benefits
• Benefit#3: C#
   o LINQ + org.xml.sax.XmlReader
   o Lamdas




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                        Drawbacks
• Works Slow in Debugging




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                        Drawbacks
• Android UI designer does not exist




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                        Drawbacks
• It is a commercial product, so it costs!




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                       Conclusions
• Monodroid is a good approach when
  developing from scratch a cross-platform
  native mobile app




                                                          CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits


                       References
• http://tnw.co/usmobilemarketshare2012
• http://xamarin.com/monoforandroid
• http://www.infoq.com/presentations/Android
  -Development-Using-NET-and-Mono
• http://www.slideshare.net/conceptdev/cross
  platform-mobile-dev-with-mono
• http://www.slideshare.net/klmcmahon/mono-
  for-android


                                                          CODRIN DIȚU
Basics   Overview   Architecture    API    Demos   Myths     Benefits




                    Thank you!                                Question!



                              Questions?




                                                           CODRIN DIȚU
Basics   Overview   Architecture   API   Demos   Myths     Benefits




                                                         CODRIN DIȚU

More Related Content

What's hot

Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User Interfaces
Pedro J. Molina
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
Intel® Software
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
Prajakta Dharmpurikar
 
Android Apps Development Basic
Android Apps Development BasicAndroid Apps Development Basic
Android Apps Development Basic
Monir Zzaman
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
Marko Gargenta
 
Intel XDK - Philly JS
Intel XDK - Philly JSIntel XDK - Philly JS
Intel XDK - Philly JS
Ian Maffett
 
Im2 for android 2010 - 2012
Im2 for android 2010 - 2012Im2 for android 2010 - 2012
Im2 for android 2010 - 2012
Andi Ridwan
 
Android Web app
Android Web app Android Web app
Android Web app
Sumit Kumar
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdf
weerabahu
 
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp
 
Mobile technology
Mobile technologyMobile technology
Mobile technology
Sarankumar Rajagopal
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android Applications
Infosys
 
Cygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesCygnet mobility solutions & case studies
Cygnet mobility solutions & case studies
Tarak Joshi
 
Android Internals
Android InternalsAndroid Internals
Android Internals
Marko Gargenta
 
Cross Platform Game Development with GDAP, December 2012
Cross Platform Game Development with GDAP, December 2012Cross Platform Game Development with GDAP, December 2012
Cross Platform Game Development with GDAP, December 2012
jobandesther
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
Gail Frederick
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
Mike Desjardins
 
Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
Ditto – Design Life Cycle Management Concept for DesOps (2016-17) Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
Samir Dash
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
Cesar Augusto Nogueira
 

What's hot (20)

Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User Interfaces
 
Build HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDKBuild HTML5 VR Apps using Intel® XDK
Build HTML5 VR Apps using Intel® XDK
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Android Apps Development Basic
Android Apps Development BasicAndroid Apps Development Basic
Android Apps Development Basic
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
 
Intel XDK - Philly JS
Intel XDK - Philly JSIntel XDK - Philly JS
Intel XDK - Philly JS
 
Im2 for android 2010 - 2012
Im2 for android 2010 - 2012Im2 for android 2010 - 2012
Im2 for android 2010 - 2012
 
Android Web app
Android Web app Android Web app
Android Web app
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdf
 
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
 
Mobile technology
Mobile technologyMobile technology
Mobile technology
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android Applications
 
Cygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesCygnet mobility solutions & case studies
Cygnet mobility solutions & case studies
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Cross Platform Game Development with GDAP, December 2012
Cross Platform Game Development with GDAP, December 2012Cross Platform Game Development with GDAP, December 2012
Cross Platform Game Development with GDAP, December 2012
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 
Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
Ditto – Design Life Cycle Management Concept for DesOps (2016-17) Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
Ditto – Design Life Cycle Management Concept for DesOps (2016-17)
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 

Viewers also liked

HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine) HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
Gabriele Gigliotti
 
Android basics
Android basicsAndroid basics
Android basics
Akhil Kumar
 
Android Applications Introduction
Android Applications IntroductionAndroid Applications Introduction
Android Applications Introduction
Anjali Rao
 
Android Basics
Android BasicsAndroid Basics
Android Basics
Arvind Sahu
 
Android programming basics
Android programming basicsAndroid programming basics
Android programming basics
Egerton University
 
Android basics
Android basicsAndroid basics
Android basics
Syed Luqman Quadri
 

Viewers also liked (6)

HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine) HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
 
Android basics
Android basicsAndroid basics
Android basics
 
Android Applications Introduction
Android Applications IntroductionAndroid Applications Introduction
Android Applications Introduction
 
Android Basics
Android BasicsAndroid Basics
Android Basics
 
Android programming basics
Android programming basicsAndroid programming basics
Android programming basics
 
Android basics
Android basicsAndroid basics
Android basics
 

Similar to Mono for Android Development

Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-android
Elvis Jon Freddy Sitinjak
 
Android Annotations and RoboGuice
Android Annotations and RoboGuiceAndroid Annotations and RoboGuice
Android Annotations and RoboGuice
Joel Sticha
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
Zaid Khan
 
Mono for android
Mono for androidMono for android
Mono for android
Willem Meints
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
R
 
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell   khirulnizamRangka kursus pembangunan aplikasi android kuiscell   khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Khirulnizam Abd Rahman
 
Android technology
Android technologyAndroid technology
Android technology
dharsana sree
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
Jeff Haynie
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 Introduction
Xamarin
 
Droid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtimeDroid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtime
Droidcon Berlin
 
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardwareTomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
Ron Munitz
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?
adityakumar2080
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
Jeff Haynie
 
Android the future
Android  the futureAndroid  the future
Android the future
Sanjeev Kumar Jaiswal
 
mobile application development mobile application development
mobile application development mobile application developmentmobile application development mobile application development
mobile application development mobile application development
Kamrankhan925215
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
Bilal Mirza
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdf
christiemarie4
 
All about android
All about androidAll about android
All about android
Inimitable Harish
 
Scope of Android and Future Work
Scope of Android and Future WorkScope of Android and Future Work
Scope of Android and Future Work
RabiRehman1
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Michael Kozloff
 

Similar to Mono for Android Development (20)

Developing and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-androidDeveloping and-benchmarking-native-linux-applications-on-android
Developing and-benchmarking-native-linux-applications-on-android
 
Android Annotations and RoboGuice
Android Annotations and RoboGuiceAndroid Annotations and RoboGuice
Android Annotations and RoboGuice
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
 
Mono for android
Mono for androidMono for android
Mono for android
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
 
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell   khirulnizamRangka kursus pembangunan aplikasi android kuiscell   khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
 
Android technology
Android technologyAndroid technology
Android technology
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 Introduction
 
Droid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtimeDroid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtime
 
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardwareTomer kimhi mobmodcon-nov2015-integrating new camera hardware
Tomer kimhi mobmodcon-nov2015-integrating new camera hardware
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
 
Android the future
Android  the futureAndroid  the future
Android the future
 
mobile application development mobile application development
mobile application development mobile application developmentmobile application development mobile application development
mobile application development mobile application development
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdf
 
All about android
All about androidAll about android
All about android
 
Scope of Android and Future Work
Scope of Android and Future WorkScope of Android and Future Work
Scope of Android and Future Work
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 

Recently uploaded

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

Mono for Android Development

  • 1. Mono for Android Development Monday Presentation by Codrin Dițu
  • 2. Basics Overview Architecture API Demos Myths Benefits Topics • Basics • Overview • Architecture • API • Demos • Myths • Benefits • Conclusions CODRIN DIȚU
  • 3. Basics Overview Architecture API Demos Myths Benefits What is Mono? Mono? CODRIN DIȚU
  • 4. Basics Overview Architecture API Demos Myths Benefits Mono • is an open source implementation of .NET Framework based on the ECMA standards CODRIN DIȚU
  • 5. Basics Overview Architecture API Demos Myths Benefits Mono • is an open source implementation of .NET Framework based on the ECMA standards • aims to be the leading choice for development of Linux applications CODRIN DIȚU
  • 6. Basics Overview Architecture API Demos Myths Benefits Mono • is an open source implementation of .NET Framework based on the ECMA standards • aims to be the leading choice for development of Linux applications • allows developers to easily create cross platform applications CODRIN DIȚU
  • 7. Basics Overview Architecture API Demos Myths Benefits What is Android? Android? CODRIN DIȚU
  • 8. Basics Overview Architecture API Demos Myths Benefits What is Android? • world’s most popular mobile platform (48,6 US market share, January 2012) CODRIN DIȚU
  • 9. Basics Overview Architecture API Demos Myths Benefits What is Android? • 1st release in October 2008, 5th this fall  CODRIN DIȚU
  • 10. Basics Overview Architecture API Demos Myths Benefits What is Android? CODRIN DIȚU
  • 11. Basics Overview Architecture API Demos Myths Benefits What is Android? • full software stack, based on Linux 2.6 CODRIN DIȚU
  • 12. Basics Overview Architecture API Demos Myths Benefits What is Android? • apps typically are written in Java (SDK provides tools and Java API) CODRIN DIȚU
  • 13. Basics Overview Architecture API Demos Myths Benefits What is Android? • apps typically are written in Java (SDK provides tools and Java API) CODRIN DIȚU
  • 14. Basics Overview Architecture API Demos Myths Benefits Android architecture CODRIN DIȚU
  • 15. Basics Overview Architecture API Demos Myths Benefits Android key components • Activities single screen with an UI CODRIN DIȚU
  • 16. Basics Overview Architecture API Demos Myths Benefits Android key components • Activities single screen with an UI • Services background running long operations CODRIN DIȚU
  • 17. Basics Overview Architecture API Demos Myths Benefits Android key components • Activities single screen with an UI • Services background running long operations • Content Providers organized mechanism for data sharing CODRIN DIȚU
  • 18. Basics Overview Architecture API Demos Myths Benefits Android key components • Activities single screen with an UI • Services background running long operations • Content Providers organized mechanism for data sharing • Broadcast receivers respond to system-wide announcements CODRIN DIȚU
  • 19. Basics Overview Architecture API Demos Myths Benefits What is Monodroid? Monodroid? CODRIN DIȚU
  • 20. Basics Overview Architecture API Demos Myths Benefits Mono for Android CODRIN DIȚU
  • 21. Basics Overview Architecture API Demos Myths Benefits Mono for Android Commercial Product develop native Android apps using .NET CODRIN DIȚU
  • 22. Mono Basics Overview Architecture API Demos Myths Benefits Runtime use .NET standards LINQ, GC, lamba s etc Mono for Android Commercial Product develop native Android apps using .NET CODRIN DIȚU
  • 23. Mono Linker Basics Overview Architecture API Demos Runtime Myths Benefits reduces app size by static use .NET analysis of your standards application LINQ, GC, lamba s etc Mono for Android Commercial Product develop native Android apps using .NET CODRIN DIȚU
  • 24. Mono Linker Basics Overview Architecture API Demos Runtime Myths Benefits reduces app size by static use .NET analysis of your standards application LINQ, GC, lamba s etc Mono for Android Commercial Product Complete develop native binding for Android apps Java / using .NET Android API CODRIN DIȚU
  • 25. Basics Overview Architecture API Demos Myths Benefits Monodroid Architecture • Android/Managed Callable Wrappers (JNI bridges to do the talking) CODRIN DIȚU
  • 26. Basics Overview Architecture API Demos Myths Benefits Monodroid API • .NET events replace listener interfaces CODRIN DIȚU
  • 27. Basics Overview Architecture API Demos Myths Benefits Monodroid API • .NET events replace listener interfaces CODRIN DIȚU
  • 28. Basics Overview Architecture API Demos Myths Benefits Monodroid API • Action replaces Runnable public delegate void Action<in T>( T obj ) Example: Search(string query, Action<IEnumerable<Tweet>> callback) CODRIN DIȚU
  • 29. Basics Overview Architecture API Demos Myths Benefits Monodroid API • Action replaces Runnable CODRIN DIȚU
  • 30. Basics Overview Architecture API Demos Myths Benefits Monodroid API • Enumerations • Properties • Attributes and tooling generate configuration • OpenTK • Uses standard Android resources CODRIN DIȚU
  • 31. Basics Overview Architecture API Demos Myths Benefits Code • MonoDevelop or Visual Studio 2010 • tutorials on android.xamarin.com •DEMOs CODRIN DIȚU
  • 32. C# Code (Mono for android) HelloWord native Android Application
  • 33. Java Code (the standard way) HelloWord native Android Application
  • 34. Basics Overview Architecture API Demos Myths Benefits Why bother with Mono after all? • Mith #1: the build apps are not native Uses the exact same libraries as native apps CODRIN DIȚU
  • 35. Basics Overview Architecture API Demos Myths Benefits Why bother with Mono after all? • Mith #1: the build apps are not native • Mith #2: it is for the lazy ones You have to learn the native framework CODRIN DIȚU
  • 36. Basics Overview Architecture API Demos Myths Benefits Why bother with Mono after all? • Mith #1: the build apps are not native • Mith #2: it is for the lazy ones • Mith #3: the build apps are slower C# on Mono VM Java on Dalvik VM CODRIN DIȚU
  • 37. Basics Overview Architecture API Demos Myths Benefits Why bother with Mono after all? • Mith #1: the build apps are not native • Mith #2: it is for the lazy ones • Mith #3: the build apps are slower • Mith #4: it is a hard approach Java and C# are … similar, plus you have support from support from Xamarin (and google, stackoverflow, etc.) CODRIN DIȚU
  • 38. Basics Overview Architecture API Demos Myths Benefits Why bother with Mono after all? • Mith #1: the build apps are not native • Mith #2: it is for the lazy ones • Mith #3: the build apps are slower • Mith #4: it is a hard approach • Mith #5: no reason CODRIN DIȚU
  • 39. Basics Overview Architecture API Demos Myths Benefits Benefits • Benefit#1: cross platform (except GUI code) CODRIN DIȚU
  • 40. Basics Overview Architecture API Demos Myths Benefits Benefits CODRIN DIȚU
  • 41. Basics Overview Architecture API Demos Myths Benefits Benefits • Benefit#2: less code  less bugs CODRIN DIȚU
  • 42. Basics Overview Architecture API Demos Myths Benefits Benefits • Benefit#3: C# o LINQ + org.xml.sax.XmlReader o Lamdas CODRIN DIȚU
  • 43. Basics Overview Architecture API Demos Myths Benefits Drawbacks • Works Slow in Debugging CODRIN DIȚU
  • 44. Basics Overview Architecture API Demos Myths Benefits Drawbacks • Android UI designer does not exist CODRIN DIȚU
  • 45. Basics Overview Architecture API Demos Myths Benefits Drawbacks • It is a commercial product, so it costs! CODRIN DIȚU
  • 46. Basics Overview Architecture API Demos Myths Benefits Conclusions • Monodroid is a good approach when developing from scratch a cross-platform native mobile app CODRIN DIȚU
  • 47. Basics Overview Architecture API Demos Myths Benefits References • http://tnw.co/usmobilemarketshare2012 • http://xamarin.com/monoforandroid • http://www.infoq.com/presentations/Android -Development-Using-NET-and-Mono • http://www.slideshare.net/conceptdev/cross platform-mobile-dev-with-mono • http://www.slideshare.net/klmcmahon/mono- for-android CODRIN DIȚU
  • 48. Basics Overview Architecture API Demos Myths Benefits Thank you! Question! Questions? CODRIN DIȚU
  • 49. Basics Overview Architecture API Demos Myths Benefits CODRIN DIȚU

Editor's Notes

  1. Catevachestii de baza, ceeste mono, ceeste android siapoibineintelesceeste mono for android. Arhitecturasiapi-ul. Vom face cateva demo-urisiapoi ne vomintoarcesademitizamcatevamituri, savorbimdespreavantajesidezavantaje.
  2. Termenulcheiecandvorbim de android totusieste un.La bazaplatformeistalinuxul. Vomvedeamai in detaliuingredientelecandvomdiscutadesprearhitectura
  3. In mod normal, candzic o apknativa android, ma gandesc la unascrisa in java.
  4. Vomvedeaastazi ca se poatesi in alt limbaj
  5. Sa ne concentarmputinasupraelementelorcheie ale stack-ului: bazaestelinux, middleware-ulilreprezinta runtime-ulsicatevalibrarii (c,c++) siapoi vine application framework-ul care = java + aplicatiile de sus care pot fifolosite de noi in creeareaaltoraplicatii
  6. Trecemrepede in revistacomponentelecheie ale uneiaplicatii androidLa bazaoricareiaplicatiistauactivitatile. Practicestevorba de un ecran.
  7. Apoivinserviciile care ne permit safacemoperatii in background fara ca aplicatianoastrasa fie pornita (de ex: playerul de muzica, downloadulunuifisier)
  8. Urmeaza content providerii care formeaza un mechanism ordonat de a permite sharing-ul de date intreaplicatii
  9. si broadcast receiverii care sunt de faptnisteascultatori la anumitesemnale ale sistemului. De exemplu: low batery alert. Intrebaripanaacum? Mentionez ca saavem de a face cu o app nativa android, trebuiesaavem minim unadintreacestecomponente.
  10. Gata cu android-ul. Ceestemonodroid?
  11. Sau o platforma care nepermitesaconsturimaplicatii android native scriind in .net
  12. Langamasinavirtualadalvik, staacumsimasinavirtuala mono. Deci ne putemputemscrie in .netfarasa ne temem. Te potifolosi de elegantalimbajuluisi de aproape tot ceeaceitiofera el (aici ma refer la faptul ca potifolosi LINQ, functii lambda, xml parser siaproapetoatecelelalte cu care eraidejaobisnuit in .net) - bine, nu a fostsicazulmeu, dar pot sazic ca am invatatceva.net cu ocaziaasta.
  13. Avand in vedere ca dezvoltamaplicatiipentrumobil, dimensiuneaaplicatieiconteaza. Linkerulestecel care se ovcupa de “stergerea” acelorparti din frameworkul mono, sau din api-urile native care nu suntfolosite de aplicatiata. Astfel, size-ul care ajungedupaprocesul de linking petelefoneste cu celputin 70% maiputindecat era initial.
  14. Face binding complet API-ul Android si JAVA. Astainseamna ca exista un layer de wrappere care itipermitepracticsa. acceseziaccesaapi-urile respectiveCa sirecapitulare: mono for android estecompus din 3 maricomponente: compilatorul, masinavirtuala, librariile.Intrebari?
  15. de wrappereestecumvaintrecodul.netsicodul java, aflati ca Monoruleaza side by side cu masinavirtualaDalvik. Astainseamna ca Mono nu comunica cu kernelul din linux via dalvik. Este situat fix in aceimaginatilasi loc cu dalviksicomunica direct cu kernelul din linux. Bineinteles ca pentruaccesareaapi-urilor android / java native mono vacomunica cu dalvik via acel layer de binding.
  16. Action = un tip de delegat in c# care defineste o actiune. O actiuneeste o metoda care primeste un singurparamentrusi nu returneazanimic. General vorbind, delegat = tip cereferentiaza o metoda. (ca si cum arfi un pointer la o functie)Runnable = interfatacestabileste o metodacomuncaprin care o clasafurnizeaza cod threadului care dorestesail execute.Interfata are o singurametoda: run();Enumeratiile: grupare de constantePropierati: geterisiseteri in c#Atributele – adnotarile din java. Foate utile, pentru ca genereazaconfigurarisiastfeltepoatescuti de o mare bataie de cap.OpenTK – librarileopenGL care itipermitesafacichestiigraficefoartedragute. Are suportsi in monoTouch, deci se poaterefolosi cod. 
  17. Action = un tip de delegat in c# care defineste o actiune. O actiuneeste o metoda care primeste un singurparamentrusi nu returneazanimic. General vorbind, delegat = tip cereferentiaza o metoda. (ca si cum arfi un pointer la o functie)Runnable = interfatacestabileste o metodacomuncaprin care o clasafurnizeaza cod threadului care dorestesail execute.Interfata are o singurametoda: run();Enumeratiile: grupare de constantePropierati: geterisiseteri in c#Atributele – adnotarile din java. Foate utile, pentru ca genereazaconfigurarisiastfeltepoatescuti de o mare bataie de cap.OpenTK – librarileopenGL care itipermitesafacichestiigraficefoartedragute. Are suportsi in monoTouch, deci se poaterefolosi cod. 
  18. Action = un tip de delegat in c# care defineste o actiune. O actiuneeste o metoda care primeste un singurparamentrusi nu returneazanimic. General vorbind, delegat = tip cereferentiaza o metoda. (ca si cum arfi un pointer la o functie)Runnable = interfatacestabileste o metodacomuncaprin care o clasafurnizeaza cod threadului care dorestesail execute.Interfata are o singurametoda: run();Enumeratiile: grupare de constantePropierati: geterisiseteri in c#Atributele – adnotarile din java. Foate utile, pentru ca genereazaconfigurarisiastfeltepoatescuti de o mare bataie de cap.OpenTK – librarileopenGL care itipermitesafacichestiigraficefoartedragute. Are suportsi in monoTouch, deci se poaterefolosi cod. 
  19. Appde,mo care tine mintecate click-uriaidatpe un buton
  20. PRODUCTIVITATE. Nu doar la cei care deja le stiu, darsipentruceinoi (ca si mine). Dupace le-au invatat, le cam place sa le folosieasaca
  21. Un ramp up destul de dificilpentrucei care nu stiudeloc.net. Dureazaputinpanaceteobisnuiestisainveti cam ceclasetrebuiesafolosesti etc.
  22. DroidDraw can be used, but the quality and the result it is not guarantied