Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

103
 Prowadzący: Adrian Olszewski Tworzenie przenośnych aplikacji z wykorzystaniem Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework Microsoft .NET Framework oraz oraz Xamarin Mono Xamarin Mono

Transcript of Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 1/103

  Prowadzący: Adrian Olszewski

Tworzenie przenośnych aplikacji z wykorzystaniemTworzenie przenośnych aplikacji z wykorzystaniem

Microsoft .NET FrameworkMicrosoft .NET Framework

orazoraz

Xamarin MonoXamarin Mono

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 2/103

 

Program prezentacji

● Przenośność programu na inne systemy operacyjne

 – Jak ją rozumieć?

 – Jak ją osiągnąć?

 – Kiedy może być użyteczna?

● Krótka historia Mono

● Roadmapa

● Instalacja (na przykładzie GNU Debian)

● Przenośne biblioteki graficznego interfejsu użytkownika

Bazy danych● Różne przydatne komponenty, które działają w Mono

● Narzędzia produkcyjne

● Licencje – czyli „czy mogę zamknąć kod mojego programu?”

● Problemy

● Wnioski końcowe

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 3/103

 

Przenośność – jak ją rozumieć?

● Napisany w przenośny sposób program skompiluje się,uruchomi i będzie poprawnie działać pod różnymisystemami operacyjnymi.

●  Akceptowalne niedogodności:

 – Drobne różnice w wyglądzie aplikacji

 – Wolniejsze działanie – Niedokładne odświeżanie widoku

 – Zablokowana specyficzna funkcjonalność

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 4/103

 

Przenośność – jak ją osiągnąć?

● Unikać wywołań funkcji konkretnego systemu operacyjnego (np. WinAPI, WMI) lub zapewnić wskazanie zamienników (System.Media.SoundPlayer,

#IF UNIX …..... #ENDIF)

● Unikać stosowania mechanizmów, które nie istnieją winnych systemach (np. Rejestr Windows)

● Umożliwiać konfigurację użycia mechanizmów systemowych (np. Harmonogram zadań – CRON, wybór przeglądarki internetowej)

Warto rozważyć mechanizm pluginów do realizacji określonych działań na różnych systemach, listowanych i konfigurowanych wfunkcji systemu operacyjnego, np. plugin „Scheduler”, „WebBrowser”, „FileManager”.

● Testować zachowanie na docelowym systemie  (np. VM Ware, Virtual PC)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 5/103

 

Przenośność – jak ją osiągnąć?

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 6/103

 

Przenośność – jak ją osiągnąć?

● Unikać nieprzenośnych bibliotek i komponentów(np. WPF, WWF, Krypton Toolkit, MSVCRT, RDLC Report Viewer). Mogą zadziałać, ale nie muszą / mogą wyrzucać wyjątki.

Stosować PathSeparator , DirectorySeparatorChar ,Combine, Env.NewLine

● Być świadomym działania kompilatora Lin32: IntPtr=long=32b | Win32: IntPtr=long=32bLin64: IntPtr=long=64b | Win64: IntPtr=64b <> long=32b

● Stosować predefiniowane ścieżki i tam zakładać podkatalogiz uwagi na różną ich strukturę FS w Windows i Linux(Desktop, Programs, Personal, DesktopDirectory, ApplicationData, CommonApplicationData, MyPictures, etc.)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 7/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 8/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 9/103

 

Przenośność – kiedy użyteczna?

● Gdy system będzie uruchamiany przez klienta nakomputerach z różnymi systemami operacyjnymi

● Gdy istnieje ryzyko zmiany systemu operacyjnego na

części/wszystkich maszynach klienta (np. Windows → Linux)● Gdy zachodzi potrzeba uczynienia programu dostępnym dla

 jak największej grupy odbiorców

● Jedno środowisko produkcyjne, jedna platforma programistyczna / uruchomieniowa:

 – Uproszczenie procesu produkcji – jeden kod

 – Redukcja czasu potrzebnego na integrację różnych platform

 – Redukcja kosztów zakupu narzędzi

 –

Ograniczenie ilości potrzebnej do zdobycia wiedzy specjalistycznej (dokumentacje)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 10/103

 

Przenośność – kiedy użyteczna?

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 11/103

 

Krótka historia Mono

● Mono (hiszp. małpa) – zgodna z ECMA, przenośna na inne systemyoperacyjne implementacja .NET: kompilator + CLR + biblioteki

● Ximian → Novell → Xamarin

● Windows, UNIX, Linux, Mac, *BSD, Solaris, Wii, PS3, iOS, Android

● .NET 4.0, WinForms (2.0), ASP.NET (WebForms, MVC2, 3)

● C#, Java, Boo, Nemerle, VB.NET, Python, PHP, Oberon, JS

● Firmy / projekty: Novell, MedTronic, FuturePrice, LindenLab (2nd Life), Skybound,WatzdPrice, ST Microeletronics, Slingshot Software, Metrosharp Corporation, Codice Software,MicroInvest, Artisteer, MindTouch, Medshpere, Volcker Informatik, Quantifi Solutions, UnityTechnologies, Versora, Fiducial, Neoware, Fanfare, SplendidCRM, Information Technologi Partners,Devart, VistaDB, Mainsoft, etc.

● Success stories / Mono usage in the Enterprise:http://tirania.org/blog/archive/2007/Dec-06.html

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 12/103

 

Krótka historia Mono

● Miguel de Icaza

 – RAID1, RAID5 dla Linuksa

 –

Midnight Commander  – GNOME

 – GNumeric

 – WINE (współtwórca)

 – Ximian (wykupione przez Novell; wiceprezes działu programistycznego Novell)

 – Xamarin (MonoTouch, Mono Android)

 – 2010: MS MVP

 –

1 z 5. „najważniejszych głosów społeczności OS” 

http://tirania.org/blog/

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 13/103

 

Mono – roadmapa

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 14/103

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 15/103

 

Mono – roadmapa

Mono 3.0

C# Async compiler 

● Unified C# compiler for all profiles

4.5 Async API Profile● Integrated new Microsoft's Open Sourced stacks:

●  ASP.NET MVC 4

●  ASP.NET WebPages

● Entity Framework

● Razor 

● System.Json (replaces our own)

● New High performance Garbage Collector (SGen - with many performance and scalability

improvements)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 16/103

 

Mono – instalacja

● Instalacja z repozytoriów

 – Prosta instalacja: apt-get install mono monodevelop monodoc

 – Stare wydania (Debian Squeeze – 2.6, gdy jest 3.0)

 – Nowsze wydania są w repo „unstable” - ryzyko utratystabilności i bezpieczeństwa systemu

● Instalacja ze źródeł

 – Pełna kontrola nad tym co, gdzie i jak się instaluje – Długotrwały proces (3-6 godzin)

 – Skomplikowany proces

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 17/103

 

Mono – instalacja

apt-get update/upgradeapt-get install gcc make bison gettext fontconfig libpng12-0 libpng12-dev libX11-6 libX11-dev libexif12 sun-java6-jre unzip bzip2 wget build-essential pkg-config libglib2.0-dev libglib2.0-dev libjpeg62-dev libgif-devlibX11-dev libfontconfig1-dev libfreetype6-dev gettext libtool libtiff4 libtiff4-devapt-get install libgtk2.0 (instaluje stare mono)wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2tar xjvf libgdiplus-2.10.tar.bz2 > /dev/null./configure –prefix=/opt/mono-2.10.8 make make installwget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.gztar zxvf mono-2.10.8.tar.gz > /dev/null cd mono-2.10.8./configure --prefix=/opt/mono-2.10.8./configure --with-large-heap=yes --prefix=/opt/mono-2.10.8 --with-libgdiplus=/opt/mono-2.10.8 –with-moonlight=no ake make installecho /opt/mono-2.10.8/lib >> /etc/ld.so.conf ldconfigln -s /opt/mono-2.10.8/bin/mono /usr/bin/monoln -s /opt/mono-2.10.8/bin/gmcs /usr/bin/gmcswget http://download.mono-project.com/sources/mono-basic/mono-basic-2.10.tar.bz2tar xjvf mono-basic-2.10.tar.bz2 > /dev/null cd mono-basic-2.10PATH=$PATH:/opt/mono-2.10.8/binPKG_CONFIG_PATH=/opt/mono-2.10.8/lib/pkgconfig./configure –prefix=/opt/mono-2.10.8 make make installwget http://download.mono-project.com/sources/xsp/xsp-2.10.2.tar.bz2tar xjvf xsp-2.10.2.tar.bz2 > /dev/null cd xsp-2.10.2./configure –prefix=/opt/mono-2.10.8 make make installln -s /opt/mono-2.10.8/bin/xsp2 /usr/bin/xsp2apt-get install libglade2.0 libglade2-dev libgnome2-dev libgnomecanvas2-dev l ibgnomeui-dev libgnomeprint2.2-dev libgnomeprintui2.2-dev libpanel-applet2-devwget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.11.tar.bz2tar xjvf gtk-sharp-2.12.11.tar.bz2 > /dev/null./configure –prefix=/opt/mono-2.10.8 make make installwget http://download.mono-project.com/sources/mono-addins/mono-addins-0.6.2.tar.bz2tar xjvf mono-addins-0.6.2.tar.bz2 > /dev/null

./configure –prefix=/opt/mono-2.10.8 make make installapt-get install gnome-sharp2wget http://download.mono-project.com/sources/mono-debugger/mono-debugger-2.10.tar.bz2

tar xjvf mono-debugger-2.10.tar.bz2 > /dev/null./configure –prefix=/opt/mono-2.10.8 make ake installwget http://download.mono-project.com/sources/mono-tools/mono-tools-2.11.tar.bz2tar xjvf mono-tools-2.11.tar.bz2 > /dev/null./configure –prefix=/opt/mono-2.10.8 make make installtouch /etc/ld.so.conf.d/glib.conf gedit /etc/ld.so.conf.d/glib.conf wpis: /usr/lib/cli/glib-sharp-2./sbin/ldconfigwget http://download.mono-project.com/sources/monodevelop/monodevelop-3.0.3.5.tar.bz2tar xjvf monodevelop-3.0.3.5.tar.bz2 > /dev/null./configure –prefix=/opt/mono-2.10.8 make make installln -s /opt/mono-2.10.8/bin/monodevelop /usr/bin/monodevelop

Dla Cairo potrzebny jest apt-get install libxt-dev

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 18/103

 

Mono – instalacja

● Instalować zawsze do /opt/mono-ver i dowiązać symoblicznie

w /usr/bin. Korzyści:

 – Komponenty (kompilatory, biblioteki) nie będą widoczne w systemie, póki się

tego jawnie nie zadeklaruje

 – W razie potrzeby usunięcia całości, wystarczy usunąć podkatalog /opt/mono...

 – W razie potrzeby wykonania kopii zapasowej środowiska - wystarczy skopiowaćkatalog /opt/mono...

 – Skopiowanie środowiska na inną maszynę sprowadza się do skopiowania na

nią katalogu /opt/mono... – Można w ten sposób zainstalować kilka wersji Mono obok siebie

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 19/103

 

Mono – instalacja

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 20/103

 

Mono – instalacjainstalacja libgdiplus i Mono

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 21/103

 

Mono – instalacjainstalacja libgdiplus i Mono

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 22/103

 

Mono – instalacjainstalacja libgdiplus i Mono

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 23/103

 

Przenośne biblioteki interfejsu użytkownika

● Windows Forms:

 – Wygląda nieestetycznie

 – Działa („odrysowuje się”) wyraźnie wolniej

 – Brak dostosowania do natywnych motywów – Problemy z niektórymi kontrolkami

 – Kontrolki innych firm – mogą nie działać (P/Invoke)

 – Brak designera (bardzo uproszczona wersja alfa)

 – Prosty proces produkcji – jeden kod

 – Wiele przydatnych kontrolek (CodeProject) – działa

 – Można korzystać z designera VS pod Windows

 – Wspierany prosty binding dla danych (DataTable, List)

 – W rostsz ch rz adkach – w ełni w starcza ce

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 24/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – standardowe kontrolki

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 25/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – DataGridView

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 26/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – Outlook panel (CodeProject)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 27/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – Barcode generator 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 28/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – SourceGrid – problem z odświeżaniem

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 29/103

 

Przenośne biblioteki interfejsu użytkownikaWindows Forms – MWF Designer 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 30/103

 

Przenośne biblioteki interfejsu użytkownika

● GTK+ (binding GTK#):

 – Diametralnie różna składnia, inne klasy, inne podejścia

 – Próba „obiektowego” opakowania kodu w C

 – Mało kontrolek firm trzecich

 – Mało wygodny designer  – Brak data bindingu (ręczne „rzeźbienie” MVC dla grida)

 – Help – dla języka C (proceduralny) albo Pythona. Kiepski dla C#

 – Sprawdzony od lat (GNOME, GIMP, Firefox, Inkscape, Dia, Abiword,Gnumeric)

 – Pełna przenośność, w miarę spójny wygląd pod różnymi OS

 – Graficzne designery (choć mniej wygodne niż VS)

 – Sizery (dostępny „free layout”)

 – Budowanie interfejsów w XML

 –

Rewelacyjny komponent Tree–

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 31/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - przegląd kontrolek

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 32/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - inne, darmowe kontrolki (MedSphere)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 33/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - inne, darmowe kontrolki (Holly Widgets)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 34/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - projektowanie w MonoDevelop

P ś bibli t ki i t f j ż tk ik

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 35/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - projektowanie w GLADE

P ś bibli t ki i t f j ż tk ik

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 36/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - interfejs wczytany z XMLa

P ś bibli t ki i t f j ż tk ik

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 37/103

 

Przenośne biblioteki interfejsu użytkownikaGTK# - wygląd w Mono (Linux), Mono (Win) i .NET

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 38/103

 

Przenośne biblioteki interfejsu użytkownika

● wxWidgets.NET

 – Komunikaty obsługiwane jak w MFC (brak event'ów)

 – Mało kontrolek firm trzecich

 – Brak darmowych designerów dla C#

 – Sizery - tylko i wyłącznie. Brak „free layout” – Brak data bindingu

 – Help – dla języka C++ (proceduralny). Kilka prostych tutoriali dla C#

 – Binding tylko dla podstawowych kontrolek. Setki kontrolek niedostępne w C#

 – Nie rozwijany od 2011, ale pojawiają się patche, więc nie umarł

 – Sprawdzony od lat (Google, DropBox, Xerox, AMD, Center for Naval Analyses, National Center for Biotechnology Information, MapTek, DynamicGraphics)

 – Pełna przenośność, wykorzystuje natywne biblioteki (WinCtrl, GTK, Quartz)

 – Budowanie interfejsów w XML (XRC)

 – Niezły designer dla XRC

 – Kilka niezł ch kom onentów: rid HTMLView HTML 3.2 ola z mask

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 39/103

 

Przenośne biblioteki interfejsu użytkownika

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 40/103

 

Przenośne biblioteki interfejsu użytkownika

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 41/103

 

Przenośne biblioteki interfejsu użytkownika

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 42/103

P ś bibli ki i f j ż k ik

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 43/103

 

Przenośne biblioteki interfejsu użytkownika

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 44/103

 

B d h

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 45/103

 

Bazy danych

Baza danych Silnik Driver  

SQL Server 

Oracle

PostgreSQL

MySQL

SQLite

Sybase

Firebird

Db4o

Dostępność baz danych i sterowników

B d h

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 46/103

 

Bazy danych

● ADO.NET

● NHibernate (Fluent + LINQ), 

● Entity Framework  (wersja 6 w Mono 2.13)

● CodeFirst

● ModelFirst

● DB First

 ________________________ 

* MS wypuścił kod EF jako OpenSource na licencji Apache 2.0:

http://entityframework.codeplex.com/

Technologie dostępu do danych

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 47/103

 

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 48/103

 

Różne przydatne komponenty

● SourceGrid

● BarcodeLib (Code 128, Code11, Code 39 (Extended/Full ASCII), Code 93, EAN-8, EAN-13, UPC-A, UPC-E, JAN-13,

MSI, ISBN, Standard 2 of 5, Interl. 2 of 5, PostNet, UPC, Supplemental 2, UPC, Supplemental 5, Codabar, ITF-14, Telepen, FIM)

● DockPanelSuite

● GTK SourceView

● Lucene.NET i SimMetrics

● OpenDICOM, ECG Toolkit, NHapi (HL7 2.x)

fyiReporting, Report Manager, można próbować Jasper Reports ● Meta nummerics, Math.NET, R.NET/RServereCLI

● MVC#

Nplot (MdeI napisał interfejs dla GTK#), ZedGraph

http://www.mono-project.com/Libraries

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 49/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 50/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 51/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 52/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 53/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 54/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 55/103

 

Różne przydatne komponenty

Różne przydatne komponenty

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 56/103

 

Różne przydatne komponenty

Narzędzia produkcyjne

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 57/103

 

Narzędzia produkcyjne

● Visual Studio (Express) + ew. płatny plugin Mono Tools for VS

● #Develop

● Monodevelop (czyta i zapisuje projekty VS)

Glade● wxFormBuilder 

● MoMA (2.6)

Nunit,NAnt● Profiler (część mono)

● Gendarme

Narzędzia produkcyjne

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 58/103

 

Narzędzia produkcyjne

Mono .NET

al al.exe

gacutil gacutil.exe

-aot ngen.exe

wsdl wsdl.exe

disco disco.exe

xsd xsd.exe

sn sn.exe

monodis ildasm.exe

ilasm ilasm.exe

xsp2 webdev.webserver.exe

PorównaniePorównanie

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 59/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 60/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 61/103

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 62/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 63/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 64/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 65/103

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 66/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 67/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 68/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 69/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 70/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 71/103

 

Narzędzia produkcyjne

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 72/103

 

Visual Studio ToolsVisual Studio Tools

Mono – aplikacje sieciowe

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 73/103

 

● ASP.NET Web Forms

● ASP.NET MVC (2, 3, 4)

● Remoting

● ASP.NET WebServices (.asmx)

WCF● (CORBA)

Mono – aplikacje sieciowe

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 74/103

 

Mono – aplikacje siecioweWebService

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 75/103

 

Mono – aplikacje siecioweWCF – czego brakuje?

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 76/103

 

● MEX (endpointy) – ale jest opracowywane

● COM

● WF

WSHttpBinding + TransactionFlow + ReliableSession● Federation

● WSDualHttpBinding i ogólnie duplex

● MSMQ (mechanizm Windows)

● DataServices

● P2P

Mono – aplikacje siecioweWCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 77/103

 

Mono – aplikacje siecioweWCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 78/103

 

WCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 79/103

 

Mono – aplikacje siecioweWCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 80/103

 

Mono – aplikacje siecioweWCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 81/103

 

Mono – aplikacje siecioweWCF → ServiceStack

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 82/103

 

Mono – aplikacje siecioweServiceStack „w słupkach”

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 83/103

 

Mono – aplikacje siecioweServiceStack „w słupkach”

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 84/103

 

Mono – aplikacje siecioweServiceStack „w słupkach”

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 85/103

 

Mono – aplikacje siecioweServiceStack how 2 start

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 86/103

 

Mono – aplikacje siecioweServiceStack how 2 start

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 87/103

 

.NET feat. JAVA →.NET feat. JAVA → IKVM.NETIKVM.NET

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 88/103

 

IKVM.NET pozwala uruchomić skompilowany kod Javy w .NET (Mono).

JARy tłumaczone są statycznie lub w locie na CIL* __________________ 

* to nie to samo, co J#

IVKM.NET zawiera m.in.:

● .netową implementację JVM

● .netową implementację klas Javy (OpenJDK, Claspath)

narzędzia do konwersji JAR → CIL (exe, dll)● Ikvmc – translacja statyczna

● Ikvm – translacja dynamiczna

Problemy...Problem z ładowaniem dynamicznych bibliotek pod Linuksem

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 89/103

 

Problemy...Problem z ładowaniem dynamicznych bibliotek pod Linuksem

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 90/103

 

#include <stdlib.h>#include <stdio.h>#include <dlfcn.h>

void* dlopen(const char* file, int flag) {void* ret;ret = dlopen(file,flag);return ret;

}

char* dlerror() {char* err;err = dlerror();return err;

}

void* dlsym(void* handle, const char* symbol) {

void* ret;ret = dlsym(handle,symbol);return ret;

}

int dlclose(void* handle) {return dlclose(handle);

}

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 91/103

Mono dla iOS oraz Androida

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 92/103

 

Mono dla iOS oraz Androida

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 93/103

 

Mono dla iOS oraz Androida

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 94/103

 

Mono dla iOS oraz Androida

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 95/103

 

Mono dla iOS oraz Androida

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 96/103

 

Wnioski

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 97/103

 

Nadaje się do tworzenia – usług serwerowych

 – przenośnych aplikacji klienckich o prostym interfejsie

 – aplikacji internetowych

 – narzędzi – prostych aplikacji pomocnicznych

 – aplikacji na urządzenia mobilna – ale za $

● Nie nadaje się do tworzenia

 – tworzenia „bogatych” interfejsów użytkownika* – b. dużych projektów bez wydania $ na mono-tools

 – aplikacji opartych o data binding

*) bez wzłożenia w to dużej ilości dodatkowej pracy

Licencje

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 98/103

 

LGPL - Lesser General Public License● GPL (tylko dla programów i o ile ktoś wie, jak skorzystać; jest to możliwe, choć złożone)

● X11 (MIT) - Massachusetts Institute of Technology License

● Ms-PL - Microsoft® Public Licence

● MPL - Mozilla Public Licence

● BSD - Berkeley Software Distribution License

●  Apache 2

● Public domain

● CPOL - The Code Project Open License● Distribution Restrictions. You may not: […] distribute Distributable Code to run on a

platform other than the Windows platform;

Licencje

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 99/103

 

LGPL● X11 (MIT)

● Ms-PL

● MPL

● BSD

●  Apache 2

● Public domain

● CPOL

● GPL (tylko dla programów i o ile ktoś wie, jak skorzystać; jest to możliwe, choć złożone)

● Distribution Restrictions. You may not: […] distribute Distributable Code to run on aplatform other than the Windows platform;

Garść przydatnych linków

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 100/103

 

● http://mono-project.com/Start

 – http://download.mono-project.com/sources/

 – http://monodevelop.com

 – http://www.mono-project.com/MoMA

 – http://www.mono-project.com/Plans

 – http://docs.go-mono.com/index.aspx

 – http://www.mono-project.com/Compatibility

 – http://go-mono.com/status/

 – http://mono-project.com/Guidelines:Application_Portability

 – http://mono-project.com/Mod_mono – http://mono-project.com/Mono.Cairo_Cookbook

 – http://www.mono-project.com/Monkeyguide

 – http://www.mono-project.com/WCF_Development

 – http://mono-project.com/Database_Access

Garść przydatnych linków

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 101/103

 

● GTK#

 – http://mono-project.com/Gui_Toolkits

 – http://monodevelop.com/Stetic_GUI_Designer 

 – http://www.mono-project.com/GtkSharp

 – http://www.mono-project.com/GtkSharpBeginnersGuide

 – http://www.mono-project.com/GtkSharp_TreeView_Tutorial

 – http://www.mono-project.com/GtkSharpTutorials

 – http://www.tuxradar.com/hca

 – http://zetcode.com/gui/gtksharp

 – https://medsphere.org/community/project/medsphere-widgets● http://wxnet.sourceforge.net

● http://www.servicestack.net

● http://github.com/mrward/monodevelop-nuget-addin#readme

:-)

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 102/103

 

7/23/2019 Tworzenie przenośnych aplikacji z wykorzystaniem Microsoft .NET Framework oraz Xamarin Mono

http://slidepdf.com/reader/full/tworzenie-przenosnych-aplikacji-z-wykorzystaniem-microsoft-net-framework 103/103

 

Dziękuję za uwagę