SlideShare a Scribd company logo
1 of 23
Who am I? I’m a cross platform developer from a beautiful and tropical place I was a Linux guy for long time in the past Open Source contributor Currently work as Senior Developer for Readify Microsoft .Net lover, polyglot developer, ASP.NET MVP Multi-cat guy, husband, blogger, gamer, things like that… http://www.cprieto.com or @cprieto
Assumptions You know what’s code You know what’s .Net You are already a .Net developer You know there’s life beyond Windows You are curious about monkeys… You know a mono is a primate
What’s mono anyway? Tip: this is not a biology class…
Ok, What’s not Mono… Because sometimes myths are just myths…
Seriously, this is not Mono Mono is NOT a Linux [only] port to .Net Mono is NOT attached to Microsoft [directly] Mono is NOT just a compiler or interpreter Mono is NOT a .Net copy Mono is NOT dead
Mono is more than a monkey… MonoTouch MonoMac MonoDroid MonoDevelop IDE Mac and Windows Git and Svn support Many mono libraries Cecil, Zeroconf, etc. LLVM compiler New Garbage Collector Sharpen Moonlight 4 C# Compiler as a Service Mono in games Mono in Servers
Compiler as a Service? Because static languages are hot as well!
What’s supported in Mono? Ok, you got me…
Microsoft .Net libraries C# 4.0, 3.0, 2.0 ASP.NET System.Core Core libraries MEF DLR (ipy, irb) Code Contracts (partially) LINQ, LINQ to SQL ADO.NET NuGet OrchardCMS F# VB XNA (MonoXNA) WCF (partially) Odata (client side)
What’s NOTsupported Windows Presentation Foundation System.Management Windows P/Invoke System.EnterpriseServices Cross process transactions COM WF (WF 4.0 will be implemented)
Porting your application Crossing the river…
Stylizer by Skybound
PlasticSCM by Codice
Unity3D by UNITY
Core and basics Mono is CIL compatible with Microsoft implementation What about data access? You cannot use EF yet But you can use NHibernate! Ok, you can use Mindscape’s Lightspeed too… VistaDB, MySQL, PostgreSQL, Firebird, SQLServer, SQLite Do I have some other usefull libraries to use? Bitsharp, Mono.Addins, MonoTorrent, GitSharp, Mono.Zeroconf, many others! You can use MonoDevelop IDE 
Pay attention to details… Paths are not the same… Interop is not your friend… COM is not your mate… Did you really need that API? What about cross platform libraries? MoMA is your ally!!!
Plenty of UI options… Winforms Your old “good” friend? Gtk# Qyoto WX.Net MonoCurses MonoMac* iOS/Android
Simple Guidelines Design your code to be presentation agnostic Independent Business Logic Presentation Layer Just follow the advise of your pattern loving buddies Model, View, Controller (MVC) Model, View, Presenter (MVP) Model, View, ViewModel (MVVM)
MOMA A Funny acronym for an useful app!
What about web apps? ASP.NET Webforms ASP.NET MVC1, MVC2 Portions of ASP.NET MVC3 Monorail, FubuMVC, OpenRasta OrchardCMS NuGet Moonlight 4 Magical things… like Manos de Mono! (no cross platform… yet!)
Questions? Come on! Don’t be so shy!

More Related Content

Similar to Cross plataform development with mono [fonts]

Introduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidIntroduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidChris Hardy
 
Linux and Samba in 75 Minutes
Linux and Samba in 75 MinutesLinux and Samba in 75 Minutes
Linux and Samba in 75 Minuteswebhostingguy
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationHillside Community School
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3Boris Mann
 
IT for IT recruiters
IT for IT recruiters IT for IT recruiters
IT for IT recruiters Yakob Yakov
 
Mono - Alternative .NET CLR Implementation
Mono - Alternative .NET CLR ImplementationMono - Alternative .NET CLR Implementation
Mono - Alternative .NET CLR ImplementationYulian Slobodyan
 
Lessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansLessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansidrsolutions
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekingeProf. Wim Van Criekinge
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007Mike Feltman
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective SystemPharo
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective SystemMarcus Denker
 
Linux's principles and philosophy
Linux's principles and philosophyLinux's principles and philosophy
Linux's principles and philosophyMahra Alshowab
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokersGaetano Giunta
 
How to ship web software like pirates!
How to ship web software like pirates!How to ship web software like pirates!
How to ship web software like pirates!Sylvain Carle
 
Intoduction to Linux
Intoduction to LinuxIntoduction to Linux
Intoduction to LinuxAnshul Sharma
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityMario Heiderich
 
UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
UTMessan 2014 - Same .NET code for Windows, Linux, and OsXUTMessan 2014 - Same .NET code for Windows, Linux, and OsX
UTMessan 2014 - Same .NET code for Windows, Linux, and OsXDataPlato, Crossing the line
 

Similar to Cross plataform development with mono [fonts] (20)

Introduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for AndroidIntroduction to MonoTouch and Monodroid/Mono for Android
Introduction to MonoTouch and Monodroid/Mono for Android
 
Linux and Samba in 75 Minutes
Linux and Samba in 75 MinutesLinux and Samba in 75 Minutes
Linux and Samba in 75 Minutes
 
Ed. Technology Council Open Source Presentation
Ed. Technology Council Open Source PresentationEd. Technology Council Open Source Presentation
Ed. Technology Council Open Source Presentation
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3
 
IT for IT recruiters
IT for IT recruiters IT for IT recruiters
IT for IT recruiters
 
Mono - Alternative .NET CLR Implementation
Mono - Alternative .NET CLR ImplementationMono - Alternative .NET CLR Implementation
Mono - Alternative .NET CLR Implementation
 
Lessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeansLessons Learned from working with HTML5, GlassFish and NetBeans
Lessons Learned from working with HTML5, GlassFish and NetBeans
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007
 
OpenSource
OpenSourceOpenSource
OpenSource
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective System
 
Pharo: A Reflective System
Pharo: A Reflective SystemPharo: A Reflective System
Pharo: A Reflective System
 
Programming
Programming Programming
Programming
 
Linux's principles and philosophy
Linux's principles and philosophyLinux's principles and philosophy
Linux's principles and philosophy
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokers
 
How to ship web software like pirates!
How to ship web software like pirates!How to ship web software like pirates!
How to ship web software like pirates!
 
Intoduction to Linux
Intoduction to LinuxIntoduction to Linux
Intoduction to Linux
 
P1 2017 python
P1 2017 pythonP1 2017 python
P1 2017 python
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT Security
 
UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
UTMessan 2014 - Same .NET code for Windows, Linux, and OsXUTMessan 2014 - Same .NET code for Windows, Linux, and OsX
UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
 

Recently uploaded

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Cross plataform development with mono [fonts]

  • 1.
  • 2. Who am I? I’m a cross platform developer from a beautiful and tropical place I was a Linux guy for long time in the past Open Source contributor Currently work as Senior Developer for Readify Microsoft .Net lover, polyglot developer, ASP.NET MVP Multi-cat guy, husband, blogger, gamer, things like that… http://www.cprieto.com or @cprieto
  • 3. Assumptions You know what’s code You know what’s .Net You are already a .Net developer You know there’s life beyond Windows You are curious about monkeys… You know a mono is a primate
  • 4. What’s mono anyway? Tip: this is not a biology class…
  • 5. Ok, What’s not Mono… Because sometimes myths are just myths…
  • 6. Seriously, this is not Mono Mono is NOT a Linux [only] port to .Net Mono is NOT attached to Microsoft [directly] Mono is NOT just a compiler or interpreter Mono is NOT a .Net copy Mono is NOT dead
  • 7. Mono is more than a monkey… MonoTouch MonoMac MonoDroid MonoDevelop IDE Mac and Windows Git and Svn support Many mono libraries Cecil, Zeroconf, etc. LLVM compiler New Garbage Collector Sharpen Moonlight 4 C# Compiler as a Service Mono in games Mono in Servers
  • 8. Compiler as a Service? Because static languages are hot as well!
  • 9. What’s supported in Mono? Ok, you got me…
  • 10. Microsoft .Net libraries C# 4.0, 3.0, 2.0 ASP.NET System.Core Core libraries MEF DLR (ipy, irb) Code Contracts (partially) LINQ, LINQ to SQL ADO.NET NuGet OrchardCMS F# VB XNA (MonoXNA) WCF (partially) Odata (client side)
  • 11. What’s NOTsupported Windows Presentation Foundation System.Management Windows P/Invoke System.EnterpriseServices Cross process transactions COM WF (WF 4.0 will be implemented)
  • 12. Porting your application Crossing the river…
  • 16. Core and basics Mono is CIL compatible with Microsoft implementation What about data access? You cannot use EF yet But you can use NHibernate! Ok, you can use Mindscape’s Lightspeed too… VistaDB, MySQL, PostgreSQL, Firebird, SQLServer, SQLite Do I have some other usefull libraries to use? Bitsharp, Mono.Addins, MonoTorrent, GitSharp, Mono.Zeroconf, many others! You can use MonoDevelop IDE 
  • 17. Pay attention to details… Paths are not the same… Interop is not your friend… COM is not your mate… Did you really need that API? What about cross platform libraries? MoMA is your ally!!!
  • 18. Plenty of UI options… Winforms Your old “good” friend? Gtk# Qyoto WX.Net MonoCurses MonoMac* iOS/Android
  • 19. Simple Guidelines Design your code to be presentation agnostic Independent Business Logic Presentation Layer Just follow the advise of your pattern loving buddies Model, View, Controller (MVC) Model, View, Presenter (MVP) Model, View, ViewModel (MVVM)
  • 20.
  • 21. MOMA A Funny acronym for an useful app!
  • 22. What about web apps? ASP.NET Webforms ASP.NET MVC1, MVC2 Portions of ASP.NET MVC3 Monorail, FubuMVC, OpenRasta OrchardCMS NuGet Moonlight 4 Magical things… like Manos de Mono! (no cross platform… yet!)
  • 23. Questions? Come on! Don’t be so shy!