Mono (oprogramowanie)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Mono – zestaw narzędzi umożliwiający uruchamianie programów stworzonych dla platformy .NET Framework, w skład których wchodzi między innymi kompilator języka C# oraz środowisko CLR (Common Language Runtime).

O’Reilly Media (poprzednio O’Reilly & Associates) – amerykańska kompania mediowa założona przez Tima O’Reilly, wydająca książki i internetowe serwisy oraz organizująca konferencje związane z komputerami.W programowaniu komputerowym framework albo platforma programistyczna jest szkieletem do budowy aplikacji. Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań. Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację.

Celem Mono jest nie tylko umożliwienie uruchamiania aplikacji stworzonych dla platformy Microsoft .NET na różnych platformach, ale również umożliwienie twórcom oprogramowania dla systemu GNU/Linux znacznie szerszego rozwoju.

Mono może być uruchamiane na wielu systemach operacyjnych, włączając w to Androida, Windows Phone, większość dystrybucji GNU/Linuksa, BSD, OS X, Windows, Solaris. Wspierane są również konsole do gier, takie jak: PlayStation 3, Nintendo Wii i Xbox 360.

Logiem Mono jest głowa małpy widziana z profilu. Z języka hiszpańskiego mono oznacza właśnie małpę.

Software development kit, SDK – zestaw narzędzi dla programistów niezbędny w tworzeniu aplikacji korzystających z danej biblioteki (np. DirectX SDK), pod dany system (np. Microsoft Platform SDK), sprzęt itp.Mac OS – system operacyjny komputerów Macintosh. Od wydania wersji 10.0 (OS X), starsze wersje znane są jako Mac OS Classic.

Historia Mono[ | edytuj kod]

Historia Mono sięga roku 2000, w którym to Microsoft opublikował .NET Framework, określając go jako „nową platformę bazującą na internetowych standardach”. W grudniu tego roku CLI, czyli Common Language Infrastructure, została ogłoszona jako otwarty standard ECMA-335, otwierając tym samym drogę do powstania niezależnych i otwartych implementacji tego standardu.

Lua − język skryptowy pierwotnie zaprojektowany dla rozszerzenia funkcjonalności różnych aplikacji, jednak często używany jako samodzielny język. Lua wiąże w sobie prostą składnię procedury (podobną do Pascala) z konstrukcjami opisu danych opartymi na tablicach asocjacyjnych i rozszerzalnej semantyce.Windows Presentation Foundation (WPF, nazwa kodowa Avalon) – nazwa silnika graficznego i API bazującego na .NET 3, wchodzącego w skład WinFX. WPF integruje interfejs użytkownika, grafikę 2D i 3D, multimedia, dokumenty (nazwa kodowa Metro) oraz generowanie/rozpoznawanie mowy (do aplikacji sterowanych głosem).

Miguel de Icaza z firmy Ximian zauważył, że w platformie .NET drzemie potencjał, który umożliwi zwiększenie produktywności powstającego kodu i ułatwi pracę programistów. Dodatkowo umożliwi ona tworzenie aplikacji wieloplatformowych bez konieczności korzystania z natywnego języka dla danej platformy. W związku z tym rozpoczęto prace nad przygotowaniem implementacji platformy .NET dla systemu Linux. Wkrótce okazało się, że projekt ten jest zbyt obszerny, aby poradziła sobie z nim niewielka garstka programistów. W związku z tym, 19 lutego 2001 roku, na konferencji O’Reilly ogłoszono rozpoczęcie prac nad otwartym projektem Mono.

Miguel de Icaza (ur. 1972 w mieście Meksyk) - programista meksykański, aktywny działacz na rzecz rozwoju projektów free software i open source, twórca m.in. projektu GNOME i Mono.Xamarin – amerykańskie przedsiębiorstwo zajmujące się wytwarzaniem oprogramowania ulokowane w San Francisco i założone 16 maja 2011, będące od 24 lutego 2016 jednostką zależną od Microsoftu.

Po trzech latach pracy, 30 stycznia 2004 roku opublikowano Mono 1.0. Z małego projektu, którego początkowym założeniem było stworzenie platformy programistycznej dla desktopowej wersji systemu Linux, stało się ono platformą programistyczną, która umożliwiała uruchamianie aplikacji przystosowanych dla środowiska .NET Framework na szerokiej gamie platform sprzętowych i na wielu systemach operacyjnych, wliczając w to systemy wbudowane.

DotGNU – projekt GNU mający na celu stworzenie i rozwijanie implementacji platformy .NET, która będzie stanowić Wolne Oprogramowanie. Jest to inicjatywa podobna do projektu Mono.C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.

Po tym, jak w kwietniu 2011 roku Novell został wykupiony przez Attachmate i rozpoczęła się fala zwolnień pracowników Novella, istnienie i dalszy rozwój projektu Mono stanął pod znakiem zapytania. 16 maja 2011 roku po tym, jak został zwolniony z firmy Novell, Miguel de Icaza ogłosił na swoim blogu, że prace nad Mono będą kontynuowane przez firmę Xamarin, którą właśnie założył. Grupa, która w Novellu pracowała nad projektem Mono, została zatrudniona w Xamarinie. Wtedy też pojawiła się informacja, że Xamarin będzie nie tylko kontynuował prace nad Mono w swojej pierwotnej formie, ale również stworzy od podstaw port komercyjnego środowiska .NET dla systemy iOS i Android, gdyż Novell posiadał prawa do MonoTouch dla iOS i Mono for Android dla systemu mobilnego firmy Google.

Boo jest wieloparadygmatowym językiem programowania o statycznie definiowanych typach. Przeznaczony jest dla Common Language Infrastructure ze składnią inspirowaną językiem Python i z naciskiem położonym na rozwój języka i kompilatora.PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

Po tym wpisie na blogu głównego twórcy Mono pojawiło się wiele komentarzy na temat dalszego rozwoju projektu, gdyż MonoTouch i Mono for Android były własnością Attachmate, które przejęło Novella. Nowej inicjatywie zarzucano, że pojawią się trudności z udowodnieniem tego, że nie będzie ona bezpośrednio wykorzystywać technologii, które zostały wcześniej opracowane przez tych samych pracowników, którzy tworzyli je w Novellu.

Stos (ang. Stack) – liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi.Windows Workflow Foundation – struktura, która pozwala użytkownikom utworzyć systemowe, bądź ludzkie przepływy pracy (workflows) w swoich aplikacjach dla systemów Windows Vista, Windows XP oraz Windows 2003. Składa się z przestrzeni nazw, wewnątrzprocesowego silnika przepływu pracy oraz kreatorów dla Visual Studio 2005. WF może być użyty do prostych scenariuszy, jak np. przedstawianie kontrolek UI, bazując na danych wprowadzonych przez użytkownika, czy kompleksowych korporacyjnych rozwiązań, jak np. obsługa zamówień produktów, czy zarządzenie magazynem. Windows Workflow Foundation wprowadza specyficzny model programowania, re-hostowalny i dostosowywalny silnik przepływu pracy oraz narzędzia do szybkiego budowania aplikacji modelu przepływu pracy na platformach Windows.

Jednak w lipcu 2011 roku Novell będący już częścią Attachmate i Xamarin zawarły porozumienie, w którym udzielono wieczystej licencji na Mono, MonoTouch i Mono for Android firmie Xamarin. Dzięki temu Xamarin może oficjalnie wykorzystywać wcześniejsze prace i gospodarować całym projektem.

Aktualny status prac i plany na przyszłość[ | edytuj kod]

Wersja 3.2.1 (wydana w sierpniu 2013 roku) oferuje podstawowe API .NET Framework, wsparcie dla języków Visual Basic.NET i C# w wersjach 2.0, 3.0 i 4.0, technologię LINQ to Objects, XML i SQL.

XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.PostgreSQL (/poːst ɡɹɛs kjuː ɛl/) często nazywany także Postgres to, obok MySQL i SQLite, jeden z trzech najpopularniejszych otwartych systemów zarządzania relacyjnymi bazami danych. Początkowo opracowywany na Uniwersytecie Kalifornijskim w Berkeley i opublikowany pod nazwą Ingres. W miarę rozwoju i zwiększania funkcjonalności, baza danych otrzymała nazwy Postgres95 i ostatecznie PostgreSQL, aby upamiętnić pierwowzór oraz zaznaczyć zgodność ze standardem SQL. Aktualnie baza implementuje większość standardu SQL:2011.

W chwili obecnej C# 4.0 jest domyślnie wykorzystywany przez kompilator języka C# dostępny w Mono. Dodatkowo wspierany jest graficzny interfejs programowania aplikacji Windows Forms 2.0, ale jego implementacja nie jest jeszcze kompletna. Obecnie głównym celem Mono jest zapewnienie pełnego wsparcia dla wszystkich udogodnień .NET 4.0 takich jak WF (Windows Workflow Foundation) oraz w pewnym stopniu WCF (Windows Communication Foundation). Wyjątkiem jest tutaj WPF (Windows Presentation Foundation), który nie jest wspierany ze względu na ogrom pracy, jaki należałoby włożyć, aby funkcjonował on poprawnie.

MonoDevelop to wolne zintegrowane środowisko programistyczne dla GNOME, pierwotnie przeznaczone dla C# oraz innych języków platformy .NET. Początkowo MonoDevelop był tylko portem SharpDevelop dla Gtk#, od tego czasu bardzo się rozwinął.iPhone – smartfon przygotowany przez Apple Inc., oparty na systemie operacyjnym iOS mający pełnić funkcje telefonu komórkowego, platformy rozrywkowej i komunikatora internetowego. Urządzenie posiada także wbudowaną przeglądarkę internetową Safari Mobile umożliwiającą przeglądanie niektórych zasobów sieciowych.

Część z funkcjonalności .NET Framework będących w fazie rozwoju jest częścią subprojektu Mono, któremu nadano nazwę Olive. W projekcie Mono znalazło się również miejsce dla kompilatora i środowiska uruchomieniowego Visual Basic .NET. Pracami nad portem VB.NET zajmuje się Rolf Bjarne Kvinge.

Moonlight[ | edytuj kod]

W skład projektu Mono wchodzi również otwarta implementacja technologii Silverlight, która nazwana została Moonlight. Jest ona dostępna od wersji Mono 1.9. Moonlight 1.0, które wspiera API Silverlight 1.0 zostało udostępnione w 20 stycznia 2009 roku. Moonlight 2.0 daje możliwości Silverlight 2.0 oraz część z funkcjonalności Silverlight 3.0. Wersja preview Moonlight 3.0, ogłoszona w lutym 2010 roku, dodała wsparcie Silverlight w wersji 3. Jednak rozwój Moonlight został oficjalnie zakończony 29 maja 2012 roku. Oficjalnym powodem była decyzja Miguela, który stwierdził, iż istnieją dwa czynniki, które powodują, że dalszy rozwój skazany jest na porażkę – sztuczne ograniczenia Microsoft, które powodują, że Silverlight jest bezużyteczny przy tworzeniu aplikacji na komputery osobiste oraz brak wystarczającej popularności w Internecie, która napędzałaby dalszy rozwój.

BSD (ang. Berkeley Software Distribution, czasami nazywany Berkeley Unix) – odmiana systemu operacyjnego Unix wywodząca się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Także potoczna nazwa licencji BSD, na której te systemy są wydawane oraz pokrewnych licencji tego typu (np. licencja MIT).Wii (wym. jak ang. we; IPA: [wiː]) – konsola gier wideo zaprojektowana i produkowana przez japońską firmę Nintendo. Początkowo znana pod nazwą Revolution jest następczynią Nintendo GameCube.

Sam rozwój Silverlight został porzucony przez Microsoft w 2012 roku.

Podstrony: 1 [2] [3] [4] [5] [6]




Warto wiedzieć że... beta

Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
SQLite – to system zarządzania bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL (ang. Structured Query Language). Została stworzona przez Richarda Hippa i jest dostępna na licencji public domain. Projekt został rozpoczęty w roku 2000.
Microsoft SQL Server (MS SQL) to system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jest to główny produkt bazodanowy tej firmy, który charakteryzuje się tym, iż jako język zapytań używany jest przede wszystkim Transact-SQL, który stanowi rozwinięcie standardu ANSI/ISO.
SharpDevelop (#develop) - jest darmowym i otwartym IDE dla platformy .NET. Obsługuje takie języki programowania jak: C#, Visual Basic .NET oraz Boo.
Słowo Mozilla powstało jako nazwa kodowa silnika dla przeglądarki Netscape Navigator. Powstało ono z połączenia słów Mosaic (nazwy jednej z pierwszych przeglądarek) i killer (ang. zabójca).
Windows Communication Foundation (nazwa kodowa Indigo) to następna generacja usług sieciowych. Daje ona wiele nowych możliwości użytkownikom, którzy wymagają, aby ich usługi sieciowe były wszechstronne. WCF jest warstwą komunikacyjną API WinFX i docelowo będzie dostępna dla Microsoft Windows XP, 2003 i Visty.
Nemerle – hybrydowy język programowania. Zawiera elementy programowania funkcyjnego i obiektowego, jest tworzony przez grupę osób z Instytutu Informatyki Uniwersytetu Wrocławskiego. Nemerle jest językiem opartym na platformie .NET.

Reklama