Cross-Platform .NET: Mono and MySQL

Slides:



Advertisements
Similar presentations
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
Advertisements

.NET Technology.
Chalermvong Vijitpiyakul Microsoft MVP Greatfriends.biz Community Lead GF 30 August 2009.
Microsoft.Net Technology Sachin Shetty Vimal Amin Thomas Mullasaril Vinutna Pulavarti Software Engineering CS616 Instructor:Dr.Tappert.
ISYS 512 Business Application Design and Development with.Net David Chao.
ISYS 512 Business Application Design and Development with.Net David Chao.
Keith Elder Microsoft MVP It’s the new wave…man…..
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
.NET framework’s Versions .NET Framework Version Microsoft started development on the.NET Framework in the late 1990s originally under the name of Next.
WHAT IS PHP PHP is an HTML-embedded scripting language primarily used for dynamic Web applications.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
MVC New release IE8 Beta 1 Deep Zoom (sea dragon) Silver light 2.0 Beta 1 Expression Blend 2.5 Preview Instant Messaging API Enhancements to Virtual Earth.
ISYS 512 Business Application Design and Development with.Net David Chao.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Mono Update. Miguel de Icaza
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
WEBMATRIX Microsoft Pranav Rastogi.
Сычев Игорь Microsoft Student SychevIgor(habr,twitter) sychevigormsk(skype) (qip)
Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian
ISYS 350 Business Application Development David Chao.
ISYS 512 Business Application Design and Development with.Net David Chao.
Mono, Moonlight, MonoDevelop and MonoTouch Miguel de Icaza
What is it all about? .NET MeetUp in Prague, CZ (2017/7/19)
Lecture 1: The .NET Architecture
Windows Communication Foundation and Web Services
Introducing the Microsoft® .NET Framework
What is .NET.
Introduction to .NET framework
Introduction to Xamarin C# Everywhere
Suresh Ramachandran Duke Energy
Python Programming Unit -1.
DotNetSpider Editor Hefin Dsouza
Interesting desktop pieces (Some demo flakiness goodness ...)
Getting started with .NET Core
Learn. Imagine. Build. .NET Conf
5/15/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Mono CS422 Dick Steflik.
.NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5
Introduction to .NET Framework Ch2 – Deitel’s Book
Did your feature got in, out or planned?
CE-105 Spring 2007 Engr. Faisal ur Rehman
ADEV 239 Microsoft .NET and GeoMedia
ASP.NET in Linux and Windows containers
Designing Cross Platform Applications on .NET Core
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
WPF vs Silverlight.
Microsoft Virtual Academy
Lecture 1: .NET What Is It And Why Use It? 9/18/2018
1.1. .NET architectural components and .NET Core
Course Introduction Haiming Chen Department of Computer Science
Module 1: Getting Started
What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11)
ADO.NEXT Advances in Data Access for 2008
Slides and images stolen from “real” .NET Conf. presenters
Microsoft Build /15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Advanced Programming: C# Lecture 01: Introduction
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Entity Framework Core.
ASP.NET 5 on .NET Core Damian Edwards Principal Program Manager.
Microsoft Connect /1/2018 2:36 AM
Visual Studio 2008 Mike Taulty Developer & Platform Group
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
0. Overview of 2-Day Academic .NET Workshop
Overview of System Development for Windows CE.NET
WCF Data Services and Silverlight
Running C# in the browser
CS4540 Special Topics in Web Development Introduction to .NET
Presentation transcript:

Cross-Platform .NET: Mono and MySQL Joseph Hill Product Manager for Mono, Novell jhill@novell.com Joe Audette Founder, Source Tree Solutions, LLC joe.audette@gmail.com

Multi-platform, Multi-language x86 C# Visual Basic SPARC Boo Java (IKVM) Common Intermediate Language Code Generation: Just-In-Time or Ahead-of-Time StrongARM F# JavaScript Interesting thing about Mono/.NET CIL (Common Intermediate Language): the "Lingua Franca" for computer languages. Allows you to write a front-end compiler (C#, Java, etc.) and instead of generating native machine code, you generate code for the intermediate language. So you always map to a single language, then the single language gets mapped to the target OS. We take the IL and generate code that will run on a number of platforms. So today we have very good coverage of languages that you can use with Mono. C# 2.0 (you can use full generics), VB.NET, Java applications - with IKVM which has been incredibly popluar - and a bunch of other languages. s390 IronPython IronRuby PowerPC

Mono® 1.0 (7/04) .NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1 Server: ASP.NET WCF WF WPF .NET 2.0 .NET 1.1 Upgrades to stack. Upgrades to stack. Server: ASP.NET Gtk# WinForms C# 2.0 Generics C# 3.0 LINQ

Mono® 1.2 (11/06) .NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1 Server: WCF WF WPF .NET 2.0 .NET 1.1 Upgrades to stack. Upgrades to stack. Server: ASP.NET Gtk# WinForms C# 2.0 Generics C# 3.0 LINQ

Mono Today: Mono 1.9 – March 2008 ASP.NET 1.1 & 2.0 Web Forms & Web Services Support for ASP.NET AJAX ADO.NET 1.1 & 2.0 SQL Server, Oracle, PostgreSQL MySQL, Sybase, DB2, SQLite, etc Win Forms 1.1 & 2.0 C# 1.0, 2.0, 3.0 LINQ GTK#

Mono® 2.0 (Summer 08) .NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1 Server: WCF WF WPF .NET 2.0 .NET 1.1 Upgrades to stack. Upgrades to stack. Server: ASP.NET Gtk# WinForms C# 2.0 Generics C# 3.0 LINQ

Mono® 3.0 (Olive) .NET 3.0 / .NET 3.5 .NET 2.0 .NET 1.1 Server: WCF WF WPF .NET 2.0 .NET 1.1 Upgrades to stack. Upgrades to stack. Server: ASP.NET Gtk# WinForms C# 2.0 Generics C# 3.0 LINQ

Mono® Migration Analyzer (MoMA) Inspects CIL byte code Looks for uses, compares with implementation Missing methods “Todo” methods (flagged with an attribute) MoMA is the best place to start; full report of how easy your existing app will be to migrate We started building the left side of the stack, ie, ASP.NET, ADO.NET, Windows.Forms, and that stack is done for 1.1 and 70% done for .NET 2.0. We can run a lot of apps with that. But we didn't really know what people were using, which controls, which bugs actually matter, etc. So, a couple of months ago we built a tool that people could run on windows, and would allow us to figure out what to implement. So we have developed this. Inspects the byte code, looks at methods, and ships with a definition of everything that Mono has. Generates a report and sends it to our website. Developers can use this tool to find out what apps are portable, and which apps are not portable. So, once the data is submitted, let's see what the data looks like. We aggregate all the data that people have sent us. Between Mono 1.2.2 and 1.2.3 we implemented 2000 methods. Regarding apps submitted to us, 16% are VB, 67% are Windows.Forms, 28% are .NET 1.1, and 72% are .NET 2.0. http://www.mono-project.com/Moma

mojoPortal – What Is It? Content Management/Web Site Framework Project began with the idea of supporting MySql and Mono Current Features – Blogs, Forums, Calendars, Maps, Image Gallery, Ecommerce, and more Download it from www.mojoportal.com

mojoPortal Architecture

Cross Platform Development Visual Studio 2005/2008 MonoDevelop

Developing with MonoDevelop Free .NET IDE for Linux and Mac OS X Code completion Refactoring Class management Built-in help VS 2005 project support Gtk# designer support ASP.NET support C#/VB/Boo/C/C++ support Much More

Getting Mono Mono http://www.mono-project.com/Downloads MoMA http://www.mono-project.com/MoMA Moonlight http://www.mono-project.com/Moonlight http://go-mono.com/moonlight Mono projects http://packages.opensuse-community.org/ mojoPortal http://www.mojoportal.com

Virtual Machine: Multilanguage Mono® Stacks ASP.NET ADO.NET Windows.Forms Mono Runtime (Implementation of ECMA #335) MySQL/Postgress Microsoft Compatibility Libraries Mono Libraries Mozilla Apache Mono Novell LDAP Java Compatibility Evolution# Novell iFolder GTK# Gnome# ASP.NET ASP.NET MySQL Gtk#/Gnome D-Bus# Mozilla Bonjour Novell APIs: iFolder, LDAP ADO.NET ADO.NET Apache Mono Identity Desktop: GTK# OpenOffice Sqlite# Cecil Windows.Forms Windows.Forms Java Compatibility Addins Rocks .NET Stack Mono Stack Virtual Machine: Multilanguage Done some very important things GTK# work - provided bindings for building GUI applications at Novell, we try to not write C-Code very much, we try to use managed languages - in the last couple of years we've done Banshee, F-Spot, desktop search Fairly successful in creating an ecosystem of class libraries that would complement Mono IKVM - allows you to run unmodified Java apps on top of Mono. Takes your Java byte code and xlates on the fly and generates code for the CIL. Has exploded into a universe of API and class libraries. Cecil - a library that lets you manipulate executabeles, insect, make mods, insert code, inspect code, etc. (Implementation of ECMA #335)

Platform Support 32 bit: Operating Systems: x86 Linux SPARC Solaris S390, IBM ARM family PowerPC 64 bit: x86-64 s390x, IBM Itanium Operating Systems: Linux Solaris MacOS X Windows Nokia/Maemo Contributed ports: Alpha, MIPS (not finished).