Odpre glavni meni

Seznam knjižnic in ogrodij za .NET

seznam Wikimedije

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.

Vsebina

Knjižnice in ogrodjaUredi

Predloga:Expand section

Implementacije .NET in ogrodjaUredi

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 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žniceUredi

Odprtokodne numerične knjižniceUredi

Komercialne numerične knjižniceUredi

2D grafikaUredi

Odprtokodne 2D grafične knjižniceUredi

Komercialne 2D grafične knjižniceUredi

3D grafikaUredi

Odprtokodne 3D grafične knjižniceUredi

[7][8][9]

  • Open Toolkit (OpenTK)[3] [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žniceUredi

  • 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 slikUredi

Odprtokodne knjižnice za procesiranje slikUredi

  • 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 vmesnikiUredi

Odprtokodne knjižnice za GUIUredi

  • 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 GUIUredi

VarnostUredi

Odprtokodne varnostne knjižniceUredi

Komercialne varnostne knjižniceUredi

Zagotavljanje kakovostiUredi

Odprtokodne knjižnice za zagotavljanje kakovostiUredi

Komercialne knjižnice za zagotavljanje kakovostiUredi

Objektno relacijsko mapiranjeUredi

Odprtokodne knjižnice za objektno relacijsko mapiranjeUredi

Sklici in opombeUredi

  1. Lerflaten, Olav (25 July 2007). "ASP.NET Charting with NPlot". Arhivirano iz prvotnega spletišča dne 2016-04-21. Pridobljeno dne 2016-04-21. 
  2. "Project Summary at OpenHUB". Arhivirano iz prvotnega spletišča dne 2016-04-21. Pridobljeno dne 2016-04-21. 
  3. Anthony, Paul (12 November 2008). "28 useful graphing solutions for web developers". Pridobljeno dne 2016-04-21. 
  4. Cora, Mike. "ShadyStats: Visualizing Game Statistics using Hierarchical Parallel Coordinates. A scientific article using Zedgraph." (PDF). Arhivirano iz prvotnega spletišča (PDF) dne 2016-04-21. Pridobljeno dne 2016-04-21. 
  5. Roman, Lucian (May 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 2016-04-21. Pridobljeno dne 2016-04-21. 
  6. Messier, Nicole (31 January 2011). "Kitware’s ActiViz .NET Tool is Now Free and Open Source". Arhivirano iz prvotnega spletišča dne 2016-04-21. Pridobljeno dne 2016-04-21. 
  7. "Helix repository on GitHub". GitHub. Arhivirano iz prvotnega spletišča dne 2016-04-25. Pridobljeno dne 2016-04-25. 
  8. "Getting started with WPF 3D". GitHub. Arhivirano iz prvotnega spletišča dne 2016-04-25. Pridobljeno dne 2016-04-25. 
  9. "Helix Toolkit web site". GitHub. Arhivirano iz prvotnega spletišča dne 2016-04-25. Pridobljeno dne 2016-04-25. 
  10. Monogame at Build 2012 | Channel 9 Live at BUILD 2012 | Channel 9
  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 dne 2007-10-14. 
  14. MSDN.NET Development: WPF: XAML Overview
  15. "NConstruct Lite - Project summary on GitHub". GitHub. Arhivirano iz prvotnega spletišča dne 2016-05-28. Pridobljeno dne 2016-05-28. 

Glej tudiUredi

Zunanje povezaveUredi

Splošno:

Numerične knjižnice:

Knjižnice za manipulacijo s podatki: