SlideShare une entreprise Scribd logo
1  sur  49
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

Contenu connexe

Tendances

Multichannel User Interfaces
Multichannel User InterfacesMultichannel User Interfaces
Multichannel User InterfacesPedro 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® XDKIntel® Software
 
Android Apps Development Basic
Android Apps Development BasicAndroid Apps Development Basic
Android Apps Development BasicMonir Zzaman
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The PhoneMarko Gargenta
 
Intel XDK - Philly JS
Intel XDK - Philly JSIntel XDK - Philly JS
Intel XDK - Philly JSIan Maffett
 
Im2 for android 2010 - 2012
Im2 for android 2010 - 2012Im2 for android 2010 - 2012
Im2 for android 2010 - 2012Andi 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-pdfweerabahu
 
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
 
Securing Android Applications
Securing Android ApplicationsSecuring Android Applications
Securing Android ApplicationsInfosys
 
Cygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesCygnet mobility solutions & case studies
Cygnet mobility solutions & case studiesTarak Joshi
 
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 2012jobandesther
 
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 SimulatorGail 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 BasicsMike 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 IntroductionCesar Augusto Nogueira
 

Tendances (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
 

En vedette

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 Applications Introduction
Android Applications IntroductionAndroid Applications Introduction
Android Applications IntroductionAnjali Rao
 

En vedette (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
 

Similaire à 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-androidElvis Jon Freddy Sitinjak
 
Android Annotations and RoboGuice
Android Annotations and RoboGuiceAndroid Annotations and RoboGuice
Android Annotations and RoboGuiceJoel Sticha
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To androidZaid Khan
 
Android Technology
Android TechnologyAndroid Technology
Android TechnologyR
 
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 khirulnizamKhirulnizam Abd Rahman
 
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 communityJeff Haynie
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionXamarin
 
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_runtimeDroidcon 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 hardwareRon 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, 2013Jeff Haynie
 
mobile application development mobile application development
mobile application development mobile application developmentmobile application development mobile application development
mobile application development mobile application developmentKamrankhan925215
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemBilal 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.pdfchristiemarie4
 
Scope of Android and Future Work
Scope of Android and Future WorkScope of Android and Future Work
Scope of Android and Future WorkRabiRehman1
 
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
 

Similaire à 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...
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

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

Notes de l'éditeur

  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