Seznam knjižnic in ogrodij za .NET

seznam Wikimedie
(Preusmerjeno s strani .NET knjižnica)

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

Implementacije .NET in ogrodja

uredi

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

Odprtokodne numerične knjižnice

uredi

Komercialne numerične knjižnice

uredi

2D grafika

uredi

Odprtokodne 2D grafične knjižnice

uredi

Komercialne 2D grafične knjižnice

uredi

3D grafika

uredi

Odprtokodne 3D grafične knjižnice

uredi

[7][8][9]

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

uredi

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

uredi

Odprtokodne 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

Varnost

uredi

Odprtokodne varnostne knjižnice

uredi

Komercialne varnostne knjižnice

uredi

Zagotavljanje kakovosti

uredi

Odprtokodne knjižnice za zagotavljanje kakovosti

uredi

Komercialne knjižnice za zagotavljanje kakovosti

uredi

Objektno relacijsko mapiranje

uredi

Odprtokodne knjižnice za objektno relacijsko mapiranje

uredi

Sklici in opombe

uredi
  1. Lerflaten, Olav (25. julij 2007). »ASP.NET Charting with NPlot«. Arhivirano iz prvotnega spletišča dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
  2. »Project Summary at OpenHUB«. Arhivirano iz prvotnega spletišča dne 21. aprila 2016. Pridobljeno 21. aprila 2016.
  3. 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.
  4. 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)
  5. 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.
  6. 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.
  7. »Helix repository on GitHub«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
  8. »Getting started with WPF 3D«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
  9. »Helix Toolkit web site«. GitHub. Arhivirano iz prvotnega spletišča dne 25. aprila 2016. Pridobljeno 25. aprila 2016.
  10. »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.
  11. 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. 
  12. Introducing Windows Presentation Foundation
  13. »What's New in WPF 3.5? Here's Fifteen Cool Features...«. Pridobljeno 14. oktobra 2007.
  14. MSDN.NET Development: WPF: XAML Overview
  15. »NConstruct Lite - Project summary on GitHub«. GitHub. Arhivirano iz prvotnega spletišča dne 28. maja 2016. Pridobljeno 28. maja 2016.

Glej tudi

uredi

Zunanje povezave

uredi

Splošno:

Numerične knjižnice:

Knjižnice za manipulacijo s podatki: