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
urediTa razdelek potrebuje razširitev. Pomagajte Wikipediji in ga razširite. (mesec ni naveden ) |
Implementacije .NET in ogrodja
urediTo 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
urediOdprtokodne numerične knjižnice
uredi- 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- 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
urediOdprtokodne 2D grafične knjižnice
uredi- 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
uredi3D grafika
urediOdprtokodne 3D grafične knjižnice
uredi- 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- 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
urediTa razdelek potrebuje razširitev. Pomagajte Wikipediji in ga razširite. (mesec ni naveden ) |
Odprtokodne knjižnice za procesiranje slik
uredi- 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
urediOdprtokodne knjižnice za GUI
uredi- 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- 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
urediOdprtokodne varnostne knjižnice
uredi- 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
urediZagotavljanje kakovosti
urediOdprtokodne knjižnice za zagotavljanje kakovosti
uredi- 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- Microsoft Unit Testing Framework je testno okolje integrirano v Visual Studio. Na voljo je za operacijske sisteme Windows.
Objektno relacijsko mapiranje
urediOdprtokodne knjižnice za objektno relacijsko mapiranje
uredi- 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- ↑ 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- Ogrodje .NET
- Standardne knjižnice (CLI), članek o standardnih knjižnicah ogrodja .NET
Zunanje povezave
urediSploš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: