Domanda

Mi chiedo se ci siano dei framework architettonici là fuori per creare applicazioni desktop o standalone, ad esempio in Java o C #. Sembra che ce ne siano tonnellate disponibili per le applicazioni web ma non riesco a trovare molte buone risorse su framework o best practice architetturali per lo sviluppo desktop.

Idealmente, vorrei sapere se esiste un codice sorgente disponibile per le applicazioni desktop che sarebbe considerato avere una buona architettura o che fosse costruito con un determinato framework.

È stato utile?

Soluzione

Pur non essendo direttamente correlato alle applicazioni desktop se stai cercando un codice sorgente decente per progetti ben scritti, ho posto una domanda simile:

C # open source progetti con una qualità del codice estremamente elevata da cui imparare.

Le persone hanno dato alcuni suggerimenti piuttosto validi lì:

  

Altri suggerimenti

Nella categoria delle app leggere, JSR 296 per Java (eventualmente in futuro Java 7) è un framework che gestisce le basi come la gestione delle risorse e le azioni. Molti link qui:

Aumentando un po 'la scala, potresti guardare vari framework RCP come:

AGGIORNAMENTO: è stato menzionato (da Mark Reinhold a Devoxx '08) che JSR 296 sarà incluso in Java 7.

Ulteriore aggiornamento: JSR 296 è morto. JavaFX è la direzione corrente per Java lato client.

Esiste un nuovo pacchetto di guida per l'architettura .NET di Microsoft patterns & amp; pratiche per WPF che è il codice chiamato " Prisma " - è fondamentalmente un " prossima generazione " Blocco dell'applicazione composita dell'interfaccia utente (senza gli strumenti SCSF). Utilizza l'iniezione di dipendenza, il modello composito dappertutto, ecc.

Esiste un buon DNRTV screencast che lo dimostra.

Controlla la Smart Client Software Factory di Microsoft. Contiene esempi di codice e documentazione.

  

Panoramica

     

Questa fabbrica di software fornisce prove comprovate   soluzioni a sfide comuni trovate   durante la costruzione e il funzionamento di compositi   applicazioni client intelligenti. Aiuta   architetti e sviluppatori costruiscono   sistemi modulari che possono essere costruiti e   distribuito da team indipendenti.   Applicazioni create con il software   uso in fabbrica di pratiche comprovate per   operazioni come centralizzate   registrazione delle eccezioni.

     

La fabbrica di software contiene a   raccolta di componenti riutilizzabili e   librerie, soluzione di Visual Studio 2008   modelli, procedure guidate ed estensioni,   Argomenti, test automatici,   ampia documentazione di architettura,   modelli e un riferimento   implementazione. La fabbrica del software   utilizza Windows Form, Windows   Presentazione Foundation, Windows   Communication Foundation e   Enterprise Library 3.1 & # 8211; Maggio 2007   pubblicazione. Con questa versione, il   Il blocco applicazione dell'interfaccia utente composita è   incluso nella fabbrica del software.

In Java, oggetti nudi - http://nakedobjects.org/home/index.shtml

JMatter - implementazione di oggetti nudi - http://jmatter.org/ . abbastanza bene.

entrambi sono open source.

Sul lato Java, ci sono diversi progetti rivolti alle piattaforme Rich Client (RCP è la nuova parola d'ordine per le app "desktop"):

  • Eclipse RCP (se stai bene usando SWT anziché Swing)
  • Spring RCP (che è in procinto di essere revisionato in Spring Desktop)
  • RCP NetBeans (che non lo sono     particolarmente colpito, ma     che sta ottenendo una certa trazione)
  • JSR 296 (Application Framework) - I     in realtà piace davvero questo

Google, uno dei precedenti e otterrai tonnellate di informazioni.

È possibile utilizzare alcuni degli stessi approcci nello sviluppo client utilizzati nello sviluppo Web, come Model View Presenter. Lo spazio dei nomi System.Windows.Forms ha tutto il necessario per creare un'applicazione client in C #, con il resto di .NET Framework disponibile per fornire i servizi necessari (come IO e remoting).

Per quanto riguarda il codice sorgente per architetture solide nelle app desktop, guarda il codice per Paint.NET e SharpDevelop . Entrambi hanno approcci molto diversi che saranno interessanti per te.

Ci scusiamo per l'inclinazione .NET di questa risposta. È quello che conosco meglio. :)

Vorrei raccomandare CSLA .NET framework di Rockford Lhotka: http: //www.lhotka. net / cslanet / Default.aspx

Viene fornito con codice sorgente completo e applicazioni client di esempio integrate in ASP.NET, WinForms e WPF.

Ho appena trovato le Guida alle applicazioni composite per WPF e Silverlight che sembra molto interessante. È stato pubblicato nel febbraio 2009.

Qui sviluppiamo tecnologie .NET.

I nostri amici qui che lavorano su applicazioni client sviluppano il loro software secondo il modello di progettazione di Model View Presenter che è spesso associato allo sviluppo Web. Per loro, trovano che funzioni molto bene, credo che valga la pena dare un'occhiata.

Anche la Smart Client Factory (menzionata da Panos) può essere utile per te, sebbene non sia un framework ma piuttosto una libreria di soluzioni di best practice per problemi comuni.

In particolare al framework di presentazione organizzata delle funzioni dell'interfaccia utente che abbiamo utilizzato infonode docking windows , si tratta di un framework per finestre che utilizza un aspetto simile all'eclissi (trascina le viste ovunque, chiudile, sganciali ecc., ovviamente personalizzabili). c'è una versione gpl per i prodotti open source, anche se la licenza per sviluppatori non è così costosa ($ 299 ciascuno).

Controlla la cabina di IdeaBlade per DotNet C #. http://www.ideablade.com/CAB.html

App di esempio Cabana

L'applicazione Cabana è una semplice app di riferimento smart client con un'esperienza utente nitida e ricca di funzionalità, facile da implementare e da utilizzare sul Web. Cabana dimostra:

Un approccio semplice al blocco dell'applicazione dell'interfaccia utente composita dai pattern e amp; di Microsoft Gruppo di pratiche. Codice gestibile e riutilizzabile attraverso la composizione dell'interfaccia utente. Separazione del modello (business logic e accesso ai dati) dalla presentazione. Il modello Model-View-Presenter. Ottimizzazione delle prestazioni. E altro ancora

Di recente ho pubblicato DesktopBootstrap. È il mio tentativo di scomporre molti degli elementi comuni nella creazione di app desktop di medie e grandi dimensioni.

Puoi trovarlo qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top