10

Mar

Plugin & Package Week: Stato dell’arte della community .NET con Nuget

Mi è capitato di perdere qualche ora su Nuget online per vedere quale fosse lo stato dell’arte dei famosi package disponibili per lo sviluppo .NET e, già che ci sono, li recensisco.

Cominciamo a parlare di NuGet: molti lo conosceranno già, altri no. Dopo qualche anno dopo Maven (per Java) cominciavo a sentire in effetti la mancanza di un analogo (anche se la differenza strutturale e oggettiva è enorme) per .NET. L’idea di scricare le dipendenze da quel sito o quell’altro, scompattare lo zip, inserire nel progetto la DLL e così via.. ..mi snervava. Così è arrivato NuGet: una estensione di Visual Studio che ci permette di aggiungere dipendenze semplicemente cliccando con il tasto destro sul progetto e selezionando Add Library Package Reference. A questo punto però l’universo di Plugin/Package è abbastanza grosso, sostanzialmente tutti i progetti Open di CodePlex che hanno già aderito a NuGet sono disponibili: è quindi necessario un lavoro di scrematura per capire quali possano essere usati ed in quali circostanze. Ecco qui una recensione parziale di quelli che reputo più interessanti (il nome mostrato può anche essere usato per il comando Install-Package):

 

ASP.NET e Web

microsoft-web-helpers

This package contains web helpers to easily add functionality to your site such as Captcha validation, Twitter profile and search boxes, Gravatars, Video, Bing search, site analytics or themes.

Include anche l’helper per accedere a Facebook e Twitter per applicazioni WebMatrix ocn sintassi Razor (include Facebook.Helper e Twitter.Helper).

WebActivator

A NuGet package that allows other packages to execute some startup code in web apps.

Questo package tramite Attributi decora i metodi che devono essere chiamati nelle fasi di startup e shutdown di una applicazione senza che debbano essere chiamati dal Global.asax.

PayPal.Helper

The PayPal helper allows you to integrate PayPal payments within your WebMatrix website or e-commerce application. With a few lines of code you'll enable your Website customers to click on a payment buttons to pay for their purchases with their PayPal accounts.

AjaxControlToolkit

Spark

Spark View Engine Core.

Altairis.Web.UI

Set of simple and clean, yet very useful components for developing ASP.NET Web Form applications. Includes embedded popular Silk icon set.

linq.js-jQuery

Linq to Objects for JavaScript. This version is plugin integrated with jQuery.

ndjango

NDjango is an implementation of the Django Template Language on the .NET platform, using the F# language.

recaptcha

reCAPTCHA is a free CAPTCHA service that helps to digitize books, newspapers and old time radio shows.

HTML5.Setup

HTML5 Setup adds support for video, audio and font file types used by HTML5 and CSS3.

Dati e Database

NHibernate

NHibernate 3 - NHibernate is a mature, open source object-relational mapper for the .NET framework. It's actively developed , fully featured and used in thousands of successful projects.

Non c’è bisogno di descrivere cosa faccia, teniamo conto però che include l’installazione di Iesi.Collections, Antlr e Castle.Core.

EFCodeFirst

CTP5 of the Code First Programming Model and Productivity Improvements for Entity Framework 4 (included in .NET Framework 4).

Inoltre, se vogliamo un esempio => EFCodeFirst.Sample

SqlServerCompact

SQL Server Compact. An embedded SQL database.

EFCodeFirst.SqlServerCompact

Allows SQL Server Compact 4.0 to be used with Entity Framework Feature CTP5.

OData.Helper

The OData Helper makes it easy to write queries against OData-enabled services with the minimum amount of code.

LinqToSqlScaffolding

Scaffolders for LINQ to SQL repositories and data contexts

RavenDB

Raven is a document database for the .NET/Windows platform, offering a flexible data model design to fit the needs of real world systems.

LinqKit

LINQKit is a free set of extensions for LINQ to SQL and Entity Framework power users.

NoRM

NoRM (http://normproject.org) is a .NET driver for the document database MongoDB

FileDB

FileDB is a free, fast, lightweight C# (v3.5) DLL project to store, retrieve and delete files using a single archive file as a container on disk

GDataDB

A database-like interface to Google Spreadsheets for .Net

Utile anche in abbinamento a LINQ (GDataDB.Linq)

Cashbox

An in process NoSQL database / document store for when you need a full managed solution.

mongocsharpdriver

Official 10gen supported C# driver for MongoDB

LinqToCsv

Easy to use library to use CSV and tab delimited files with LINQ queries

Testing & Logging

log4net

log4net is a tool to help the programmer output log statements to a variety of output targets. log4net is a port of the excellent log4j framework to the .NET runtime

elmah

ELMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.

NUnit

NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.5, is the sixth major release of this xUnit based unit testing tool for Microsoft .NET.

NBug

NBug is a .NET library created to automate the bug reporting process. It automatically creates and sends: * Bug reports, * Crash reports with minidump, * Error/exception reports with stack trace + ext. info. It can also be set up as a user feedback system (i.e. feature requests).

 

Application Architecture

MvcScaffolding

A fast and customizable way to add controllers, views, and other items to your ASP.NET MVC application

T4Scaffolding

A fast and customizable way to build parts of your .NET application via templates

Ninject

Stop writing monolithic applications that make you feel like you have to move mountains to make the simplest of changes. Ninject helps you use the technique of dependency injection to break your applications into loosely-coupled, highly-cohesive components, and then glue them back together in a flexible manner.

Unity

The Unity Application Block (Unity) is a lightweight extensible dependency injection container with support for constructor, property, and method call injection. Unity addresses the issues faced by developers engaged in component-based software engineering. Modern business applications consist of custom business objects and components that perform specific or generic tasks within the application, in addition to components that individually address cross cutting concerns such as logging, authentication, authorization, caching, and exception handling.

Castle.Windsor

Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight.

Castle.DynamicProxy

Castle DynamicProxy is a library for generating lightweight .NET proxies on the fly at runtime. Proxy objects allow calls to members of an object to be intercepted without modifying the code of the class.

nservicebus

The most popular open-source service bus for .net

MefContrib

MEF Contrib is a community-developed library of extensions to the Managed Extensibility Framework (MEF).

 

Social Integration

Facebook

The Facebook C# SDK core.

Include Newtonsoft.Json (Json.NET is a popular high-performance JSON framework for .NET)

FacebookWeb

The Facebook C# SDK web component.

TweetSharp

TweetSharp is the most popular .NET library for easily integrating Twitter with your applications.

Funziona con .NET 2.0, 3.5SP1, 4.0, WP7, SL 4 (elevato) e Mono 2.6

FbConnectAuth

Facebook Connect Authentication for ASP.NET is a component that allows ASP.NET web developers to identify and validate users accessing their website or web services using Facebook Connect.

LinkedIn.OAuth

A library that simplifies the "Login with Linked-In" process inside a web application. Depends on Hammock but due to a bug in the current version of Hammock this package contains a modified version. Still in early-development.

 

Windows Development

TopShelf

An easy service hosting framework for building Windows services using .NET

Windows7APICodePack

Windows API Code Pack for Microsoft. NET Framework provides a source code library that can be used to access some features of Windows 7 and Windows Vista from managed code. These Windows features are not available to developers today in the .NET Framework.

PGK.Extensions.Windows.Forms

(Windows Forms) The .NET Extensions project is a growing library of C# und VB.NET extension methods. The project is part of a monthly column published by Patrick A. Lorenz (www.pgk.de) in the German print magazine "dotnetpro" (www.dotnetpro.de). You can expect monthly updates.

 

Mobile

51Degrees.mobi

Detect mobile devices, get really accurate handset properties and redirect to web pages designed for mobile devices. Request.Browser properties will be populated with data from the WURFL open source project.

Coding4Fun.Phone.Controls.Complete

A toolkit with multiple controls and useful items for Windows Phone Silverlight applications

reactiveui-wp7

An MVVM library for WP7 that is deeply integrated with the Reactive Extensions

entile-server

The Entile Notification Framework helps you when doing Live Tiles and Toasts for your Windows Phone 7 app. The framework consist of a client part installed in your phone app (the 'entile-client' package) and a server part which can be installed in any IIS hosted web site/service (this package). Install this package into a web site/wcf service project to get started using Entile.

SterlingPhone

Sterling object-oriented database for Silverlight Windows Phone applications.

 

Utilities

SharpZipLib

#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language).

iTextSharp

iText# (iTextSharp) is a port of the iText open source java library for PDF generation written entirely in C# for the .NET platform.

Hammock

Hammock is an HTTP API library for .NET that greatly simplifies consuming and wrapping RESTful services.

Funziona con .NET 2.0, 3.5SP1, 4.0, WP7, SL 3 e 4 e Mono 2.6

Argotic.Core

A powerful and extensible .NET web content syndication framework for RSS, Atom, OPML, APML, BlogML, RSD and more. The Argotic Syndication Framework is a Microsoft .NET class library framework that enables developers to easily consume and/or generate syndicated content from within their own applications

FluentScheduler

A task scheduler that uses fluent interface to configure schedules. Useful for running cron jobs/automated tasks from your application.

FluentPath

FluentPath is a fluent wrapper around System.IO. This package requires .NET 4.0.

WiimoteLib

Managed Library for Nintendo's Wiimote.

netfx-System.StringFormatWith

Formats strings with named parameters with a given object, like "Hello {FirstName} {LastName}".

Args

Command line parser for .NET. Parses command line parameters into custom POCO objects.

Shouldly

Shouldly - Assertion framework for .NET. The way asserting *Should* be.

payment-processor

This is a C# library for communicating with the Authorize.NET payment gateway (using the Advanced Integration Method - AIM). Echeck is also supported.

Ftp.dll

Ftp.dll is a .NET FTP client library.

DependencySort

Allows you to topologically sort a list of objects by defining dependencies between them e.g. sorting build tasks or rules in a Chain Of Responibility

TechHikeExtensions

A set of C# extension methods intended to enhance the development exprience.

Wordbox

Generates random pronounceable words based on trigram probabilities.

 

Cloud

AzureToolkit

This toolkit was built by Thuzi in collaboration with Microsoft to give the community a good starter kit for developing on Windows Azure.

Google.GData.Documents

Google Data API Documents Library

Un progetto enorme che racchiude accesso ai dati tramite GData e quindi verso una marea di provider.

Cloud4Net.WindowsAzure

cloud4net is a framework to abstract cloud storage implementations, like ADO.net does for databases. Management tools are also provided.

Cloud4Net.Core

cloud4net is a framework to abstract cloud storage implementations, like ADO.net does for databases. Management tools are also provided.

by Roberto Freato on 3/10/2011
Post archive