Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
.NET Technology.
Introduction to ASP.NET What is.NET What is ASP.NET and how is different from ASP –ASP: server side technology for creating dynamic web pages using scripting.
CSE3030Lecture 11 Know Your User The First Slogan.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Keith Elder Microsoft MVP It’s the new wave…man…..
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
ASP &.NET Microsoft's Solution for Dynamic Web Development Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Standardize on Team Foundation Server across the enterprise with Teamprise Corey Steffen General Manager
CIS205 Part 1 dbg --- Getting Acquainted with Visual Studio.NET and C#
Rajeswari Indupuri Introduction to.NET Framework.
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1..NET Architecture Based on slides by Joe Hummel.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
.NET & C# Introduction 11 March, 2004 Yusung Kim CS441 Introduction to Computer Networking.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
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.
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Microsoft.NET Vs Sun JAVA
Introduction to .NET Rui Ye.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Open Source Software: New and Noteworthy Presented September 30, 2004 SwANH InfoXChange Conference By Gregory C. Larkin.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
.NET Framework Overview
Introduction .NET Framework
Introduction to ASP.NET 1www.tech.findforinfo.com.
CS795/895: Introduction. Topics Distributed Systems –Availability –Performance –Web Services Security –Authentication –Authorization –Confidentiality.
1..NET Architecture Based on slides by Joe Hummel.
Mono Update. Miguel de Icaza
Introduction to .NET Framework
Cross-Language Demo Demonstrates mixing C# and VB.NET code C# Class CSDemoClass.cs VB.NET Class VBDemoClass.vb “Main” class (C#) Demo.cs.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
WEB320 Migrating ASP.NET 1.x Applications to ASP.NET 2.0 Stefan Schackow Program Manager Web Platform and Tools Team Microsoft Corporation.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Module 1: Overview of the Microsoft .NET Framework
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
1. The .NET Architecture 1. The .NET Architecture 2003
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
CIS 375—Web App Dev II ASP.NET 1 Getting Started.
ISYS 512 Business Application Design and Development with.Net David Chao.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Diploma of Website Development Getting Started With ASP.NET
Cross-Platform .NET: Mono and MySQL
Lecture 1: The .NET Architecture
Chapter 13 Web Application Infrastructure
Computer System Structures
Introducing the Microsoft® .NET Framework
What is .NET.
Mono CS422 Dick Steflik.
Introduction to .NET Framework Ch2 – Deitel’s Book
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Building Modern Web Apps with ASP.NET MVC 6
Microsoft Connect /1/2018 2:36 AM
Presentation transcript:

Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project

© March 4, 2005 Mono Project 2 What is Mono ? Open source effort sponsored by Novell Implementation of the.NET development framework Includes: C# CLR ADO.NET & ASP.NET And more… (Java, VB.NET, …)

© March 4, 2005 Mono Project 3 What is Mono ? End User ApplicationsIDE, Debuggers, Profilers Operating System ECMA Virtual Machine (.NET or Mono) ECMA Foundation Class Libraries Compilers: C#, Jscript, VB.NET, Java,... GUI toolkits APIs (Windows.Forms, GTK#) ADO.NET ASP.NET (Web Applications, Web Services) Linux Bindings

© March 4, 2005 Mono Project 4 ASP.NET Evolution# Mono Runtime What is Mono ? (Implementation of ECMA #335) MySQL/Postgress Novell iFolderMozilla Gtk#Apache Mono Gnome#Novell LDAP ZipLibJava Compatibility ADO.NET Windows.Form Microsoft Compatibility LibrariesMono Libraries

Live Demo

© March 4, 2005 Mono Project 6.NET binaries and Mono Mono is binary compatible with Microsoft.NET runs.NET.exe and DLLs but only.NET ones, not win32 ones You can re-compile with mcs but you don't need to What you'll find in your Mono directory: –.exe files ( mono application.exe ) –.dll files – Shared libraries – Mapping files Mono includes GAC (Global Assembly Cache) support – Protection from DLL-Hell

© March 4, 2005 Mono Project 7 Mono for Windows ??? Now I am confused… Mono has always been available for Windows Sanity Check Co-host with Microsoft.NET XSP Gtk#/GTK+ for Windows VS.NET plugin, documentation, Gtk# development, …

© March 4, 2005 Mono Project 8 IDEs VisualStudio.NET #Develop MonoDevelop IDE

© March 4, 2005 Mono Project 9 C# Mono 1.0 includes a C# 1.0 compiler and C# 2.1 extensions (generics in beta) Mono 2.0 will includes a C# 2.1 compiler Current SVN includes generics and anonymous method supports. C# is the language of choice even though the CLR is multi-language C#

© March 4, 2005 Mono Project 10 System.Windows.Forms Mono 1.2 (Qtr2 2005) will include SWF compatibility Essential to seamless migration of Windows.NET GUI applications

© March 4, 2005 Mono Project 11 Gtk# Set of.NET bindings for the gtk+toolkit and assorted GNOME libraries Allows you to build fully native Gnome application using Mono and includes support for user interfaces built with the Glade interface builder. Cross platform (Linux, Windows, MacOS X, Solaris, …) True.NET API, not just a wrapper to C++ bindings System.Windows.Forms or Gtk# ?

© March 4, 2005 Mono Project 12 ASP.NET Mono includes support for ASP.NET (Web Applications and Web Services) XSP – Standalone server – ASP.NET & static HTML only – Development time – Back-end for mod_mono mod_mono – Plugin for Apache (v1&v2) – Uses Apache for all common web server tasks – Unix sockets communication

© March 4, 2005 Mono Project 13 ASP.NET Language support Most applications use VB.NET or C# – Need for a Code Provider for additional language support C# with Mono 1.0 VB.NET with Mono 1.4 (Qtr3 2005) Pages compiled at runtime ASP.NET 2.0 includes Pre-compiled pages support Careful of IIS specific programming outside of ASP.NET Web Services, remoting, … Third Party controls

© March 4, 2005 Mono Project 14 VB.NET VB.NET compiler and runtime in current SVN Final release with Mono 1.4 (Qtr3 2005) Can run ASP.NET pages since August 2004 Key to migration efforts Perception: Most VB6 developers are adopting VB.NET VB.NET

© March 4, 2005 Mono Project 15 P/Invoke Platform Invocation services : Native calls Trivial to use Unsafe Code, leaving the sandbox safety Opportunity for platform inconsistencies Does the native code you invoke in Windows exist in Linux?

© March 4, 2005 Mono Project 16 Third Party controls Business logic, GUI controls, Web Controls, Web Services, Statistics libraries, … Is it a pure.NET implementation or just a wrapping of native windows controls or code ? Is it a clean.NET application ? The Mono team is working with third party providers for Mono certification.

Mono in Production

© March 4, 2005 Mono Project 18 Novell Sponsored project 23 developers Used at Novell by many projects NLD, iFolder, iPrint, VO, Red Carpet/Zen Mono Support & Consulting offered by Novell

© March 4, 2005 Mono Project 19 Mono Migration Success Stories City of Munich: ASP.NET 350 servers, 150,000 users. SourceGear: Vault Software 2.0 Web Services Client to Microsoft.NET MonoDevelop IDE Ported from Windows in record time. Novell iFolder Cross platform development.

20 Apr May JunJan Feb MarOct Nov DecJul Aug SepApr May JunJan Feb MarJul Aug Sep Mono Roadmap (calendar quarters) Apr May Jun 3Q042Q04 Oct Nov Dec 2Q051Q05 4Q04 FCS Date Beta Date 3Q052Q061Q06 4Q05 Jan Feb Mar 1Q04 Dec June Mono 1.0 Open Source multi-platform.NET implementation Gtk# 1.0, Java IKVM Core tools (C# Compiler, Runtime, Debugger,MonoDoc) Supported deployment on Linux (PPC & x86), Windows and MacOS X Establishes parity with Microsoft.NET 1.1 Mono 1.2 Implementation of Windows.Forms Preview of.NET 2.0 features: ASP.NET 2.0 & XML 2.0 C# 2.0 VB.NET 1.0 Gtk# updated for Gnome 2.6 APIs and data bindings support. Mono 2.0 Establishes parity with Microsoft.NET 2.0 ASP.NET 2.0 XML 2.0 C# 2.1 Update of Mono Exclusive APIs Preview of select Longhorn features Dec Q1Q3

21 Mono - A Developer’s Handbook “All labs, no lectures” O’Reilly Publishing

22 More Mono