Seznam knjižnic in ogrodij za .NET
Ogrodje .NET in njegove različne implementacije vsebujejo obsežen nabor standardnih knjižnic, ki so v veliko pomoč pri razvoju aplikacij. Ker okolje omogoča razvoj aplikacij, ki so prenosljive med skoraj vsemi pomembnejšimi platformami (npr. preko odprtokodne implementacije Mono) in je naravnano k razvoju odprtokodnih aplikacij, se je okrog okoljja ygradil obsežen sistem knjižnic za najrazličnejše specializirane namene, od katerih je velik del odprtokodnih. Razvijalce poleg prenosljivosti in podpore odprtokodnemu razvoju v veliki meri spodbuja tudi privlačnost programskega jezika C#, ki je osnovni programski jezik ogrodja in je zelo skrbno dizajniran kot velparadigmatski jezik s premišljeno sintakso, ki gradi na izkušnjah številnih predhodnikov (C++, Java in podobno) ter odpravlja nekatere pomanjkljivosti programskih jezikov, ki so bili za zgled pri razvoju jezika.
Veliko knjižnic za ogrodje .NET je prostih in odprtokodnih. Zaradi velike pokritosti najrazličnnejših področij razvoja programske opreme lahko razvijalci začnejo z učinkovitim razvojem novih aplikacij, pri čemer razvojno okolje s svojo zasnovo podpira enostavno prenosljivost razvitih aplikacij na druge platforme.
Pri višjenivojskih knjižnicah lahko na prenosljivost močno vplivajo morebitne odvisnosti uporabljenih knjižnic od drugih knjižnic, ki so slabše ali niso prenosljive na druge platforme, na primer Windows Presentation Foundation, ki je vezan na sisteme Windows, ali Windows Forms, za katero sicer obstaja odprtokodna in prenosljica implementacija v okviru okolja Mono, vendar implementacija ni popolnoma skladna z originalno knjižnico, ki je del Microsoftove implementacije ogrodja .NET. Poleg tega so nekatere knjižnice odvisne od sistemskih klicov ali klicov funkcij v nativne knjižnce (npr. v C++ preko sistama COM medopravilnost ali preko P/Invoke). V teh primerih je prenosljivost odvisna tudi od prenosljivosti knjižnic, od katerih je aplikacija posredno ali neposredno odvisna. Primer je priljubljena knjižnica za trodimenzionalno grafiko VTK, ki je sicer napisana v jeziku C++, vendar ima povezovalni sloj za uporabo v .NET (ActiViz). Ker je osnovna knjižnica prevedena za najrazličnejše platforme, je lahko aplikacija napisana v C#, ki uporablja to knjižnico, še vedno dobro prenosljiva med različnimi platformami.
Poleg prenosljivosti in pokrite funkcionalnosti so za razvijalce pri odločitvi glede uporabe zelo pomembni tudi licenčni pogoji posamične knjižnice. Ti vplivajo na višino stroškov uproabe knjižnice v celotnih stroških razvoja, poleg tega pa lahko omejevalni pogoji nekaterih licenc zelo omejijo možnosti uporabe, prodaje in razširjanja aplikacij, ki temeljijo na takšnih knižnicah. Ob uporabi knjižnic z licenco GPL, na primer, je razvijalec aplikacije obvizan distribuirati svojo aplikacijo pod podobnimi pogoji kot so v licenci GPL, kar med drugim pomeni, da mora uporavbnikom svoje aplikacije zagotoviti dostop to izvorne pogoje in možnost distribucije izvorne kode (in s tem aplikacije) naprej, kar je nesprejemljivo pri številnih praktično izvedljivih poslovnih modelih za distribucijo komercialnih aplikacij.
Ta članek vsebuje podatke o pomembnejših programskih knjižnicah za okolje .NET na različnih področjih, skupaj z najpomembnejšimi podatki glede prenosljivosti, licenčnih pogojev in področja ter dosega posamičnih knjižcnic.
Knjižnice in ogrodja
[uredi | uredi kodo]![]() | Ta razdelek potrebuje razširitev. Pomagajte Wikipediji in ga razširite. (mesec ni naveden ) |
Implementacije .NET in ogrodja
[uredi | uredi kodo]To poglavje našteva razllične alternativne izvedbe ogrodja .NET ter ogrodja za specifične namene, ki temeljijo na .NET.
Implementacije:
- .NET Core je manjša prenosljiva in odprtokodna implementacija ogrodja .NET.
- Mono odprtokodna in prenosljiva implementacija ogrodja .NET.
Ogrodja:
- C# Native Arhivirano 2016-05-01 na Wayback Machine. prevaja kodo v C# neposredno v srojno kodo.
- SharpLang prevaja C# and druge programske jezike.NET v strojno kodo z uporavo LLVM.
- Cosmos je odprtokodni operacijski sistem napisan v C#.
- Fling OS is je operacijski sistem napisan v C#, namenjen učenju nizkonivojskega razvoja.
- MOSA Project - Operacijjski sistem napisan v C#.
Numerične knjižnice
[uredi | uredi kodo]Odprtokodne numerične knjižnice
[uredi | uredi kodo]- AForge.NET je knjižnica algoritmov s področja rečunalniškega vida in umetne inteligence. Licenca LGPL.
- ALGLIB je knjižnica osnovnih numeričnih algoritmov, napisna v različnih jezikih (C++, C#, FreePascal, Delphi, VBA). Ima dvojno licenciranje, dostopna je pod pogoji GPL alli komercialne licence.
- DiffSharp
- FsAlg
- IMSL z .NET
- NeuronDotNet
- Math.NET Numerics - splo[ne numerična knjižnica, vsebuje pakete za posebne funkcije, linearno algebro, verjetnostne modele, naključna števila, interpolacijo, integralne transformacije in drugo. Licenca MIT.
- Meta.Numerics
Komercialne numerične knjižnice
[uredi | uredi kodo]- Alea GPU -je ogrodje za razvoj alhoritmov z uporabo grafičnih procesorjev (GPU).
- ILNumerics.Net je visokoperformančna splošna numerična knjižnica.
- Microsoft Solver Foundation (MSF) je komercialni paket za izgradnjo in optimiranje matematičnih modelov.
- NMath proizvajalcaCenterSpace Software je splošnja knjižnica numeričnih komponent.
- Extreme Optimization Numerical Libraries je splošna optimizacijska knjižnica za .NET.
2D grafika
[uredi | uredi kodo]Odprtokodne 2D grafične knjižnice
[uredi | uredi kodo]- NPlot [1] Arhivirano 2016-04-14 na Wayback Machine. je prosta odprtokodna knjižnica za risanje grafov. Vključuje razrede za izris v Windows Forms, ASP.NET in generacijo bitnih slik. Licenca BSD.[1]
- ZedGraph [2] je knjižnica za risanje dvodimenzionalnih grafov v .NET. Podpira zelo širok nabor nastavitev pri risanju različnih vrst grafov v naravoslovju, tehniki in poslovnih aplikacijah. Licenca LGPL. [2][3][4][5]
Komercialne 2D grafične knjižnice
[uredi | uredi kodo]3D grafika
[uredi | uredi kodo]Odprtokodne 3D grafične knjižnice
[uredi | uredi kodo]- ActiViz.NET vsebuje C# vmesnike za knjižnico VTK. Licenca BSD.[6]
- Helix Toolkit je 3D grafična knjižnica na osnovi WPF. Zaradi odvisnosti od WPF, je knjižnica omejena na operacijske sisteme Windows. Licenca MIT.
- MonoGame je odprtokodna knjižnica za razvoj iger. Podpira sisteme OS X, Linux, iOS, Android, PlayStation Mobile in OUYA. Na sistemih Windows uporablja SharpDX in DirectX.[10] Na drugih platformah uporablja knjižnico OpenTk. Microsoft Public License.
- Open Toolkit (OpenTK)[3] Arhivirano 2016-04-17 na Wayback Machine. [4] je nizkonivojaki vmesnik v C# za OpenGL, OpenGL ES in OpenAL. Deluje na platformah Windows, Linux, Mac OS X, BSD, Android in iOS. Uporablja se lahko kot samostoječa knjižnica ali integrirana v GUI.
Komercialne 3D grafične knjižnice
[uredi | uredi kodo]- Unity je prenosljiv paket za razvoj iger, ki ga razvija Unity Technologies[11] Uporablja se za razvoj video iger za osebne računalnike, igralne konzole, telefone in spletne strani.
- Windows Presentation Foundation (WPF) je sistem za izdelavo grafičnih uporabniških vmesnikov, ki ga razvoja Microsoft. Vsebuje tudi komponento za prkazovanje 3D grafike.[12][13] Sistem teče le na operacijskih sistemih Windows.
Procesiranje slik
[uredi | uredi kodo]![]() | Ta razdelek potrebuje razširitev. Pomagajte Wikipediji in ga razširite. (mesec ni naveden ) |
Odprtokodne knjižnice za procesiranje slik
[uredi | uredi kodo]- AForge.NET je knjižnica za računalniški vid in umetno inteligenco, ki vključuje tudi številne algoritme za procesiranje slik. Licenca LGPL, delno Licenca GPL. Večina knjižnice je napisana v C# in je zato prenosljiva med različnimi platformami.[navedi vir]
- Accord.NET vsebuje različne algoritme za procesiranje slik in je v glavnem napisana v C#. Licenca GPL
Grafični uporabniški vmesniki
[uredi | uredi kodo]Odprtokodne knjižnice za GUI
[uredi | uredi kodo]- Gtk# je C# ovojnik okrog knjižnic GTK+ in GNOME, ki so napisane v C. Dosegljiva je za platforme Linux, MacOS and Windows.
- Windows Forms is a Microsoftovo ogrodje za izgradnjo grafičnih uporabniških vmesnikov. Izvorna Microsoftova implementacija teče na sistemih Windows Alternativna implementacija v okviru projekta Mono je odprtokodna in prenosljiva med različnimi sistemi (Windows, Unix in OS X), je v glavnem združljiva z izvorno Microsoftovo implementacijo, vendar ne v celoti. Knjižnica je napisana v C#, da se izogne odvisnosti od sistemskih funkcij sistema Windows.
- Xwt pretvarja API klice v nativne klice na ciljni platformi, s čimer lahko izpostavi poenoten API na različnih platformah, hkrati pa imajo uporobniški vmesniki videz, ki je v skladu s platformo, na kateri teče aplikacija.
Komercialne knjižnice za GUI
[uredi | uredi kodo]- Windows Presentation Foundation (WPF) je grafični podsistem za renderiranje uporabniških vmesnikov v aplikacijah za operacijski sistem Windows. Razvija ga Microsoft. Osnovan je na tehnologiji DirectX in uporablja XAML (jezik temelječ na XML) za definicijo in povezavo med grafičnimi elementi in podatki aplikacije.[14]
Varnost
[uredi | uredi kodo]Odprtokodne varnostne knjižnice
[uredi | uredi kodo]- SSH.NET Arhivirano 2016-05-05 na Wayback Machine. je klientska knjižnica za SSH, SCP in SFTP. Ker ne vključuje odvisnosti od drugih knjižnic, je prenosljiva. Licenca BSD.
Komercialne varnostne knjižnice
[uredi | uredi kodo]Zagotavljanje kakovosti
[uredi | uredi kodo]Odprtokodne knjižnice za zagotavljanje kakovosti
[uredi | uredi kodo]- NUnit je odprtokodno ogrodje za testiranje posamičnih enot v .NET. Napisano je v C# in zato prenosljivo med rayličnimi platformami in operacijskimi sistemi. Spada med ogrodja za testiranje iz družine xUnit. Licenca MIT.
Komercialne knjižnice za zagotavljanje kakovosti
[uredi | uredi kodo]- Microsoft Unit Testing Framework je testno okolje integrirano v Visual Studio. Na voljo je za operacijske sisteme Windows.
Objektno relacijsko mapiranje
[uredi | uredi kodo]Odprtokodne knjižnice za objektno relacijsko mapiranje
[uredi | uredi kodo]- NConstruct Lite je orodje za hiter razvoj spletnih in namiznih aplikacij za Ogrodje .NET, ki vključuje obsežno knjižnico za ORM. [15]
- NHibernate je orodje za objektno-relacijsko mapiranje za ogrodje .NET.
Sklici in opombe
[uredi | uredi kodo]- ↑ Lerflaten, Olav (25. julij 2007). »ASP.NET Charting with NPlot«. Arhivirano iz prvotnega spletišča dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
- ↑ »Project Summary at OpenHUB«. Arhivirano iz prvotnega spletišča dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
- ↑ Anthony, Paul (12. november 2008). »28 useful graphing solutions for web developers«. Arhivirano iz prvotnega spletišča dne 9. maja 2016. Pridobljeno 21. aprila 2016.
- ↑ Cora, Mike. »ShadyStats: Visualizing Game Statistics using Hierarchical Parallel Coordinates. A scientific article using Zedgraph« (PDF). Arhivirano iz prvotnega dne 19. oktobra 2006. Pridobljeno 21. aprila 2016.
{{navedi splet}}
: Vzdrževanje CS1: bot: neznano stanje prvotnega URL-ja (povezava) - ↑ Roman, Lucian (Maj 2014). »Software Application for Assessment the Reliability of the Suspension System at Opel Cars and of Road Profiles. A scientific article using Zedgraph« (PDF). Fascicle of Management and Technological Engineering. Arhivirano iz prvotnega spletišča (PDF) dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
- ↑ Messier, Nicole (31. januar 2011). »Kitware's ActiViz .NET Tool is Now Free and Open Source«. Arhivirano iz prvotnega spletišča dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
- ↑ »Helix repository on GitHub«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
- ↑ »Getting started with WPF 3D«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
- ↑ »Helix Toolkit web site«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
- ↑ »Monogame at Build 2012 | Channel 9 Live at BUILD 2012 | Channel 9«. Arhivirano iz prvotnega spletišča dne 7. julija 2013. Pridobljeno 27. aprila 2016.
- ↑ Riccitiello, John (October 23, 2014). Intervju z Dean Takahashi. "John Riccitiello sets out to identify the engine of growth for Unity Technologies (interview)". VentureBeat. http://venturebeat.com/2014/10/23/john-riccitiello-sets-out-to-identify-the-engine-of-growth-for-unity-technologies-interview/. Pridobljeno January 18, 2015.
- ↑ Introducing Windows Presentation Foundation
- ↑ »What's New in WPF 3.5? Here's Fifteen Cool Features...«. Pridobljeno 14. oktobra 2007.
- ↑ MSDN.NET Development: WPF: XAML Overview
- ↑ »NConstruct Lite - Project summary on GitHub«. GitHub. Arhivirano iz prvotnega spletišča dne 28. maja 2016. Pridobljeno 28. maja 2016.
Glej tudi
[uredi | uredi kodo]- Ogrodje .NET
- Standardne knjižnice (CLI), članek o standardnih knjižnicah ogrodja .NET
Zunanje povezave
[uredi | uredi kodo]Splošno:
- List of .NET libraries and frameworks, seznam nekaterih specializiranih knjižnic za ogrodje .NET na angleški Wikipediji
- .NET Open Source Developer Projects, seznam dostopen na straneh GitHub
Numerične knjižnice:
- The Math Forum - Math Libraries, obsežen seznam matematičnih knižnic za ogrodje .NET s kratkimi opisi (v angleščini)
- Guide - Math and Statistics Programming with F# Arhivirano 2016-04-25 na Wayback Machine., vsebuje seznam najpomembnejših matematičnih in statističnih knjižnic za ogrodje .NET.
Knjižnice za manipulacijo s podatki: