SlideShare a Scribd company logo
A LapAroundMonoTouchBringing .NET to Apple iOS
A Lap Around MonoTouchJoey Filichia
Research and Development @ Denver Public Schools
Email:
mjfilichia@gmail.com
joey@filichia.com
joey_filichia@dpsk12.org
Twitter:
@mecurioJ
On the interwebs:
http://www.filichia.com
Note:The opinions expressed today are my own and do not represent my employer’s views in any way. Nothing discussed should be considered official or sanctioned by my employer or any other organization I’m affiliated with.Joey Filichia has been writing code since 1982, turning a hobby into a career in 1997. Over the course of his career, Joey has worked as a systems administrator, web developer, architect, database administrator and developer. Although "Innovative and Creative" are sometimes negative when applied to programmers, over time Joey has made those traits work for his career. Currently, he is Lead of Research and Development for Denver Public Schools. His current passion is trying to find new ways to use technology as a tool to help students improve their learning skills. Currently, Joey is developing applications for the iPad, iPhone and Windows Phone 7.
What is Mono?Open Source Project that provides a CLR compiler for .NET on non-Windows OSWeb Site: http://www.mono-project.com/Main_PageMost of the.NET framework exists in MonoHere’s what doesn’t exist:	System.Management does not map to LinuxThere are no plans to implement WPFWindows Workflow is a future enhancementEntity Framework isn’t  availableServer-SideOData is not available, because it depends on the Entity FrameworkCodeContracts have been implemented in an API, but only partial tooling exists.
What is MonoTouch?Funded and managed by NovellAllows .Net Developers to create native applications using C# that can compile and run on iOS devices (iPhone, iPod, iPad)In essence, it compiles .Net code into Objective-C compatible code.

More Related Content

PDF
I os1
PiTechnologies
 
PPT
iPhone Development: Zero to Sixty
Thomas Swift
 
KEY
Life Cycle of an iPhone App
John McKerrell
 
PPTX
iPhone application development in India
Mobile Pundits
 
PDF
iOS design: a case study
Johan Ronsse
 
PDF
Iphone programming: Objective c
Kenny Nguyen
 
PPT
Ios - Introduction to swift programming
Vibrant Technologies & Computers
 
PDF
iPhone Development Overview
William Taysom
 
iPhone Development: Zero to Sixty
Thomas Swift
 
Life Cycle of an iPhone App
John McKerrell
 
iPhone application development in India
Mobile Pundits
 
iOS design: a case study
Johan Ronsse
 
Iphone programming: Objective c
Kenny Nguyen
 
Ios - Introduction to swift programming
Vibrant Technologies & Computers
 
iPhone Development Overview
William Taysom
 

What's hot (20)

PDF
Developer's got talent iPhone
PiTechnologies
 
PDF
打造你的第一個iPhone APP
彼得潘 Pan
 
PPTX
Mobile Dev For Web Devs
Justin James
 
PDF
iPhone - Human Interface Guidelines
Martin Ebner
 
DOCX
Jay's CV - 2013
Jay Valambhia
 
PPT
Synapseindia android app sharing app inventor for android
Synapseindiappsdevelopment
 
DOCX
iOS developer deepish resume-docx
Deepish Mani
 
KEY
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Fabien Marry
 
PDF
iCloud
Andri Yadi
 
PDF
i_os_development_environment
Aravindharamanan S
 
PPT
iPhone transfer software
johnjuly123
 
PDF
Coding on the Shoulders of Giants
Matt Biddulph
 
PPTX
Mobile Application testing- All you want to know to get started!!
Neha Thakur
 
PDF
Bachelor Thesis-Peter Gerhat
Peter Gerhat
 
PDF
What Apple's iOS 5 Means for Marketers
Ben Gaddis
 
PDF
Learn ios9-programming
Green Harry
 
KEY
Programing for the iPhone
Mike Qaissaunee
 
PDF
Code and Conquer with Globe Labs, October 27, 2012
jobandesther
 
PDF
Ubercool, pixel perfct & slick design… that just doesn't work
Samuel Bednar
 
PPT
iPhone application development training day 1
Shyamala Prayaga
 
Developer's got talent iPhone
PiTechnologies
 
打造你的第一個iPhone APP
彼得潘 Pan
 
Mobile Dev For Web Devs
Justin James
 
iPhone - Human Interface Guidelines
Martin Ebner
 
Jay's CV - 2013
Jay Valambhia
 
Synapseindia android app sharing app inventor for android
Synapseindiappsdevelopment
 
iOS developer deepish resume-docx
Deepish Mani
 
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Fabien Marry
 
iCloud
Andri Yadi
 
i_os_development_environment
Aravindharamanan S
 
iPhone transfer software
johnjuly123
 
Coding on the Shoulders of Giants
Matt Biddulph
 
Mobile Application testing- All you want to know to get started!!
Neha Thakur
 
Bachelor Thesis-Peter Gerhat
Peter Gerhat
 
What Apple's iOS 5 Means for Marketers
Ben Gaddis
 
Learn ios9-programming
Green Harry
 
Programing for the iPhone
Mike Qaissaunee
 
Code and Conquer with Globe Labs, October 27, 2012
jobandesther
 
Ubercool, pixel perfct & slick design… that just doesn't work
Samuel Bednar
 
iPhone application development training day 1
Shyamala Prayaga
 
Ad

Similar to A lap around monotouch (20)

PDF
Step-by-Step Guide to Developing a Successful iOS App.pdf
Bytes Technolab Inc.
 
DOCX
Step-by-Step Guide to Developing a Successful iOS App.docx
Bytes Technolab Inc.
 
PDF
Enterprise ipad Development with notes
jaxarcsig
 
PDF
Best iOS Application Development Tools.pdf
FuGenx Technologies
 
KEY
Life cycle of iPhone application
Siva Prasad K V
 
PDF
Shortcut in learning iOS
Joey Rigor
 
PDF
Porting iPhone Apps to Windows Phone 7
Wes Yanaga
 
PDF
Building windows phone_apps_-_a_developers_guide_v7_no_cover
Phan Sanh
 
PDF
How to Create An iOS Application Development 9 Steps to Make It Happen
Cerebrum Infotech
 
PDF
wexarts.org iPhone Project: Developer Documentation
tutorialsruby
 
PDF
<img src="../i/r_14.png" />
tutorialsruby
 
PPTX
Getting started with PhoneGap
Patrick van Kouteren
 
PPTX
Starting mobile development
Mihai Corlan
 
KEY
iPhone App from concept to product
joeysim
 
PDF
MSR iOS Tranining
Prabin Datta
 
PDF
I phone apps developments interview
Pragati Singh
 
PPTX
iOS App Development Presented by Edifyself
Edifyself
 
PPT
Doran-C4L2010
Quickoffice Test
 
PDF
Mobile Application Development with WP7 & Others
Andri Yadi
 
PPTX
Learn How to Get Started with iOS App Development.pptx
75waytechnologies
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Bytes Technolab Inc.
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Bytes Technolab Inc.
 
Enterprise ipad Development with notes
jaxarcsig
 
Best iOS Application Development Tools.pdf
FuGenx Technologies
 
Life cycle of iPhone application
Siva Prasad K V
 
Shortcut in learning iOS
Joey Rigor
 
Porting iPhone Apps to Windows Phone 7
Wes Yanaga
 
Building windows phone_apps_-_a_developers_guide_v7_no_cover
Phan Sanh
 
How to Create An iOS Application Development 9 Steps to Make It Happen
Cerebrum Infotech
 
wexarts.org iPhone Project: Developer Documentation
tutorialsruby
 
<img src="../i/r_14.png" />
tutorialsruby
 
Getting started with PhoneGap
Patrick van Kouteren
 
Starting mobile development
Mihai Corlan
 
iPhone App from concept to product
joeysim
 
MSR iOS Tranining
Prabin Datta
 
I phone apps developments interview
Pragati Singh
 
iOS App Development Presented by Edifyself
Edifyself
 
Doran-C4L2010
Quickoffice Test
 
Mobile Application Development with WP7 & Others
Andri Yadi
 
Learn How to Get Started with iOS App Development.pptx
75waytechnologies
 
Ad

Recently uploaded (20)

PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
DevOps & Developer Experience Summer BBQ
AUGNYC
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
DOCX
Top AI API Alternatives to OpenAI: A Side-by-Side Breakdown
vilush
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
Precisely
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PDF
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
CIFDAQ
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
georgschmitzdoerner
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
agentic-ai-and-the-future-of-autonomous-systems.pdf
siddharthnetsavvies
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Software Development Company | KodekX
KodekX
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
DevOps & Developer Experience Summer BBQ
AUGNYC
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Top AI API Alternatives to OpenAI: A Side-by-Side Breakdown
vilush
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Enable Enterprise-Ready Security on IBM i Systems.pdf
Precisely
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
CIFDAQ
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
madgavkar20181017ppt McKinsey Presentation.pdf
georgschmitzdoerner
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
agentic-ai-and-the-future-of-autonomous-systems.pdf
siddharthnetsavvies
 

A lap around monotouch

  • 2. A Lap Around MonoTouchJoey Filichia
  • 3. Research and Development @ Denver Public Schools
  • 12. Note:The opinions expressed today are my own and do not represent my employer’s views in any way. Nothing discussed should be considered official or sanctioned by my employer or any other organization I’m affiliated with.Joey Filichia has been writing code since 1982, turning a hobby into a career in 1997. Over the course of his career, Joey has worked as a systems administrator, web developer, architect, database administrator and developer. Although "Innovative and Creative" are sometimes negative when applied to programmers, over time Joey has made those traits work for his career. Currently, he is Lead of Research and Development for Denver Public Schools. His current passion is trying to find new ways to use technology as a tool to help students improve their learning skills. Currently, Joey is developing applications for the iPad, iPhone and Windows Phone 7.
  • 13. What is Mono?Open Source Project that provides a CLR compiler for .NET on non-Windows OSWeb Site: http://www.mono-project.com/Main_PageMost of the.NET framework exists in MonoHere’s what doesn’t exist: System.Management does not map to LinuxThere are no plans to implement WPFWindows Workflow is a future enhancementEntity Framework isn’t availableServer-SideOData is not available, because it depends on the Entity FrameworkCodeContracts have been implemented in an API, but only partial tooling exists.
  • 14. What is MonoTouch?Funded and managed by NovellAllows .Net Developers to create native applications using C# that can compile and run on iOS devices (iPhone, iPod, iPad)In essence, it compiles .Net code into Objective-C compatible code.
  • 15. How does it do it without violating the Apple Licensing Agreement?But it still won’t run Adobe Flash…April 2010 : “Third Party Tools are prohibited”Tech Republic’s Justin James said “…I believe that signing this agreement is about equal to selling your soul for a grilled cheese sandwich.”September 2010 : “Third Party Tools are not prohibited”
  • 16. How much of MonoTouch matches .NET Framework?Most of the .NET 2.0 CoreLINQGenericsWCFADO.NET wrappers for SQLiteSilverlight 2.0 APIWraps iOS APIs
  • 17. What doesn’t exist?JIT-less environment is restricted by the kernelEliminates CodeDomDRLReflectionMemory ManagementP/Invoke methods
  • 18. Just-In-Time versus Ahead-Of-TimeApple DOES NOT allow Just-In-time Compiling (JIT).NET uses Just-In-Time Compiling (JIT) MonoTouch uses Ahead-of-Time Compiling (AOT)Ahead of Time Compiling is also known as Static CompilationAOT Compiling creates all the native code that JIT would normally generateLinks to runtime to create a single ARM processor capable native binaryIL code is stripped from the managed assemblies, leaving just metadata
  • 19. Garbage CollectionManaged Code handles garbage collectionsObjective-C for iOS uses Retain CountsRetain Counts : Reference Counts : Memory Pointers != Dealloc PointersMonoTouch handles garbage collection Creates an “AutoRelease” pool for anything that exists on the main thread and any child threads
  • 20. What do I need to do to get started with MonoTouch?Intel Based Genuine Macintosh“… MonoTouch is not supported when running on non-genuine Apple hardware (Hackintsoshes) or other OS X installations virtualized in violation of Apple's license agreement, as we're unable to perform any kind of quality assurance testing for these systems, or otherwise diagnose issues that might occur in these scenarios.” – www.monotouch.netLatest iOS SDKCurrently at 4.02 (as of March 2011)Apple Developer’s Account ($99 a Year)Familiarity with Apple’s Development Restrictions
  • 21. Installing MonoTouchInstallation order is VERY IMPORTANT!Remember, RTFI!!!!http://monotouch.net/Documentation/Installationat least OSX version 10.5.7 Leopard (OSX 10.6.6 Snow Leopard needed for iOS 4)Install iOS SDK Install Mono Framework (MonoDevelop is installed by default when Mono is installed)Install MonoTouchiPhone Configuration Utility from AppleDeveloper Certificates for testing on devices (simulator comes default)
  • 22. Now is the time we Demo and Code!Getting Started You can’t escape the xibs!Drop controls on the Interface BuilderWire up the outlets in the AppDelegateAccess them from the C# Code Behind…Must use delegates, models and views…it’s the Objective C way.Virtual Machines…Visual Studio (2008\2010) via a VM (Virtual Box is free…) means you can use Visual Studio to handle coding using a familiar environment.Just make sure to map a reference path within the project to the directory that holds the Mono dll’s
  • 23. References and ResourcesMono Project Main Page : http://mono-project.com/Main_PageMono Develop : http://monodevelop.com/MonoTouch : http://monotouch.net/MonoTouch Pricing and Trials : http://monotouch.net/StoreReference Book “Professional iPhone Programming with MonoTouch and .NET/C#:” : http://www.softpro.com/0-470-63782-x.htmlMonoTouch Tutorials : http://monotouch.net/Tutorials
  • 24. References and ResourcesInside Apple's insane developer agreementhttp://www.techrepublic.com/blog/programming-and-development/inside-apples-insane-developer-agreement/2486New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compilerhttp://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler