SlideShare uma empresa Scribd logo
1 de 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!

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

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!