Andreano Lanusse | Developer Relations, Embarcadero Blog: www.andreanolanusse.com
Building managed-code cross platform applications with Delphi Prism
Agenda • Delphi Prism and Cross Platform development • Mono • Build/Deploy ASP.NET and Web Service on Linux • MonoTouch • Build/Run iPhone application with Delphi Prism • Q&A
Delphi Prism and Cross Plataform Development
Delphi Prism XE • Support for the latest .NET 4.0 and Silverlight Technologies
• New Language and Compiler Features
• Import or Copy and Paste C# Code as Delphi Prism Code
• Visual Studio 2010 Shell Based IDE Work with all your data sources
• Code Obfuscation
• CodeSite logging system
• Works with MonoTouch product from Novell to build apps for iPhone OS
Windows Linux Apple
Microsoft .NET 4.0 Mono for Windows
Mono for Linux Mono for OSX iPhone/iPad
Delphi Prism Cross Platform Development
Embarcadero® RAD Studio XE
Mono
Mono • Software platform designed to allow developers to easily create cross
platform applications • Open Source implementation of Microsoft's .NET Framework • FREE • Mono runs on:
– Linux – Microsoft Windows – Mac OS X – BSD – Sun Solaris – Nintendo Wii – Sony PlayStation 3 – Apple iPhone
• It also runs on x86, x86-64, IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x (32 and 64 bits)
Mono Architecture • Code Execute Engine
– Just in time compilation – Ahead-of-Time compilation – Full Static compilation
• Garbage Collector • Class Library • Common Language Runtime • Common Language Specification • Managed and unmanaged code
Mono - .NET Support • Mono current version 2.6.7 • .NET 1.1
– Core Libraries 1.1: mscorlib, System, System.Xml – ASP.Net 1.1 and ADO.Net 1.1 – Winforms/System.Drawing 1.1 – System.Management - does not map to Linux – System.EnterpriseServices – deprecated
• .NET 2.0 – C# 2.0 (generics) – Core Libraries 2.0: mscorlib, System, System.Xml – ASP.NET 2.0 - except WebParts – ADO.NET 2.0 – Winforms/System.Drawing 2.0 - does not support right-to-left
• .NET 3.0 – WCF - silverlight 2.0 subset completed – WPF - no plans to implement – WF - will implement WF 4 instead on future versions of Mono
Mono - .NET Support, cont. • Mono currently supports everything in .NET 3.5 except WPF and WF,
limited WCF
• .NET 3.5 – C# 3.0 – System.Core – LINQ – ASP.NET 3.5 – ASP.NET MVC – LINQ to SQL - Mostly done, but a few features missing
• The upcoming version of Mono will support: – C# 4.0 – LINQ 4.0 – ASP.NET 4.0
Mono - Database support • Provides ADO.NET Data Providers for many databases, like:
– PostgreSQL – SQLite – InterBase/Firebird – MySQL – ODBC – Oracle – SQL Server – Sybase – DB2
• Object Persistent Libraries and Object Databases – NHibernate
Mono – Desktop and Web • Web
– Mod_Mono Apache 2.0/2.2 module that provides ASP.NET support for Apache
• Desktop – Mono provide toolkit for desktop development – Toolkit support:
• GTK# • Windows.Forms • Qyoto • Qt4Dotnet • Cocoa# • wxNet
Demo • Build and deploy .NET Web Service on Ubuntu • Build and deploy ASP.NET database application on Ubuntu
MonoTouch
MonoTouch • Software development kit for Mac OS X
• Allows developers to use.NET programming languages to create native applications for Apple iPhone/iPod and Apple iPad Touch devices.
• Based on the Mono framework and compatible with .NET 2.0
• MonoTouch "Apps" are compiled down to machine code targeted specifically at the Apple iPhone.
MonoTouch SDK • Static compiler that turns .NET executables and libraries into native
applications
• There is no JIT or interpreter shipped with your application, only native code
• MonoTouch supports: – garbage collection – multi-threading – many features of .NET 3.5, including LINQ, with some exceptions
• Database assemblies part of MonoTouch, like: – Mono.Data.Sqlite.dll – Mono.Data.Tds.dll
MonoTouch - Support • MonoTouch current version 3.0.8
• Support for iPhone 4 SDK
• Platform Support – iOS 4 (iPhone and iPod devices) – iPhoneOS 3.2 (iPad) – iPhoneOS 3.0 (iPhone and iPod devices)
MonoTouch – Requirements for Development and Deploy
• DEVELOPMENT – Mac machine – Delphi Prism XE license – MonotTouch SDK is FREE for development and testing against the
iPhone simulator only
• DEPLOYMENT – Join the Apple Developer Program ($99/year), and must adhere to
Apple’s iPhone developer license terms – Obtain a MonoTouch deployment license from Novell for distribution
on the Apple App Store • Professional Edition • Enterprise Edition
MonoTouch – How to start • Download Novell’s MonoTouch
– http://monotouch.net/DownloadTrial • Install MonoDevelop IDE – included in Delphi Prism ISO
– Don’t install or update for a different version of MonoDevelop • Start developing iPhone and iPad applications in Delphi Prism language.
Demo • Build a web browser application
Q&A • My Blog – www.andreanolanusse.com • Twitter - @andreanolanusse • Email: [email protected]
• References – Mono - http://www.mono-project.com
– MonoTouch – http://monotouch.net
– Book: Professional iPhone Programming with MonoTouch and .NET/C# Remember Delphi Prism allow you to copy/past C# code as Delphi Prism
• Embarcadero Developer Network – http://edn.embarcadero.com
Thank you!!! • My Blog – www.andreanolanusse.com • Twitter - @andreanolanusse • Email: [email protected]
• References – Mono - http://www.mono-project.com
– MonoTouch – http://monotouch.net
– Book: Professional iPhone Programming with MonoTouch and .NET/C# Remember Delphi Prism allow you to copy/past C# code as Delphi Prism
• Embarcadero Developer Network – http://edn.embarcadero.com