2009-12-26 22 views
6

Sarebbe utile creare applicazioni WPF senza mai toccare Visual Studio (o altri IDE)? Come in, codifica e compilazione completamente all'interno di Vim e della riga di comando? Quali risorse consiglieresti a qualcuno che sta provando a farlo?WPF senza Visual Studio?

risposta

9

Sarebbe possibile, poiché fondamentalmente WPF è basato su XAML - una variante di XML - e C# o VB.NET o un altro linguaggio .NET come linguaggio di back-end.

La domanda è se si tratta di pratico e se ha senso, ne dubito fortemente. WPF è interamente basato sulla progettazione visiva, ad es. totalmente senza un visual designer (sia quello integrato in Visual Studio, preferibilmente la versione 2010 o Expression Blend), sembra un po 'sciocco voler programmare WPF ....

Per quanto riguarda le risorse - beh, un almeno un editor di testo è un must, quindi sicuramente alcuni buoni libri su WPF, e potresti sfruttare il compilatore C# o VB.NET fornito con .NET framework.

+3

Inoltre è davvero difficile ottenere i dettagli corretti e senza un visual designer, il ciclo di modifica del compilatore sarebbe doloroso. –

5

Possibile, Sì. Pratico n.

Per il lavoro di produzione, prendere in considerazione Microsoft Expression Blend 3. Quindi copiare l'XAML e incollarlo nell'editor desiderato e compilare dalla riga di comando.

È possibile scaricare KAXAML. È un editor gratuito e leggero. L'ho trovato utile per l'apprendimento di XAML e per vedere in che modo modifiche e modifiche minori possono influire su un progetto generale.

XAML è un semplice testo vecchio, quindi trova un editor gratuito (KAXAML), usalo e, se necessario, incollalo nell'editor.

+1

La miscela non viene conteggiata come IDE? – ChrisF

+1

Certo, ma ho anche prefisso con "Per il lavoro di produzione". Se qualcuno vuole usare editor di testo e carta millimetrata, sentiti libero. Se vuoi fare XAML e vuoi essere produttivo, hai davvero bisogno di guardare un IDE. – DenaliHardtail

+1

Suppongo che gamedevv lo stia facendo a scopo di apprendimento (nessuna delle aziende si aspetterebbe mai che gli sviluppatori scrivano codice di produzione per scrivere XAML con un semplice editor di testo. Sei più produttivo con un IDE. – DenaliHardtail

3

Se vuoi davvero seguire questa rotta, ti consiglio di prendere del grafico (quadrato) e una matita appuntita.

Disegna i tuoi disegni su questo, leggi le posizioni e digitarle nel tuo editor di scelta.

Uno dei vantaggi di questo è che si sta andando ad avere un prototipo di carta per mostrare alla gente;)

Come James Keesey sottolinea nel suo commento sulla marc_s's risposta, il ciclo edit-compile-prova sta per essere doloroso.

2

È sicuramente possibile. Direi che non è pratico, però.

Per essere sincero, faccio sviluppo WPF professionale e lo faccio con il designer visivo chiuso. Sono molto più a mio agio nel modificare XAML a mano, proprio come se scrivessi HTML. Tuttavia, i vantaggi di un IDE vanno ben oltre il visual designer. C'è il IntelliSense, il debug e tutta una serie di altre preziose funzionalità.

Davvero, devo mettere in discussione le tue motivazioni. Cosa stai cercando di ottenere? Le versioni Visual Studio Express supportano completamente lo sviluppo WPF, quindi non possono o non devono essere un problema di costi.

8

Mi sono trovato a scrivere XAML in Blocco note in diverse occasioni in cui avevo bisogno di creare un'interfaccia utente rapida, ma non ho potuto caricare un IDE. È davvero piuttosto banale e quasi - ma non del tutto - così veloce come usare un IDE. I principali vantaggi di un IDE come Blend o VS.NET sono nel far sì che cose come i colori e le animazioni siano "giuste".

Un'altra occasione in cui scrivo spesso XAML o C# in un editor di testo è qui su Stack Overflow.Visualizzo solo Visual Studio quando devo testare qualcosa.

miei principali raccomandazioni per la creazione di applicazioni WPF senza un IDE sono:

In primo luogo si dovrebbe fare un uso corretto del sistema di layout di WPF, utilizzando pannelli appropriati e "Auto" dimensionamento, ove possibile. Ad esempio, se desideri una serie di pulsanti con uno spazio tra loro, crea un <StackPanel> e su ogni pulsante aggiungi Margin="4" o altro. Questo è comunque un buon design. Molti programmatori WPF all'inizio lo trattano come WinForms senza capacità di layout, il che è un peccato. WPF ha un motore di layout molto potente e dovrebbe essere usato. Se lo è, non ci sarà mai alcun bisogno di carta millimetrata o misure. Inoltre, l'interfaccia utente modificherà automaticamente il layout se si modificano le dimensioni dei caratteri o gli oggetti sono più grandi del previsto.

In secondo luogo è necessario utilizzare msbuild per il progetto, a meno che non sia estremamente semplice. msbuild è installato insieme a NET Framework quindi è sempre disponibile. Il formato del file è molto facile da modificare con un editor di testo, ed è molto meglio di un file batch con il comando "csc" appropriato perché consente di usare code-behind ed è meno soggetto ad errori quando si aggiungono nuovi file sorgente.

Terzo, mantenere una finestra della riga di comando di PowerShell aperta separatamente dall'editor, con un comando che esegue "msbuild" e quindi esegue l'applicazione. Per eseguire la tua app, quindi solo Alt-Tab a questa finestra e premi uparrow, Invio. Alcuni editor di testo hanno la possibilità di eseguire comandi definiti dall'utente direttamente dall'editor e vedere l'output, nel qual caso questa seconda finestra non è necessaria.

Quarto conservare una copia di cordbg o mdbg a portata di mano. Sebbene un IDE sia il luogo ideale per eseguire il debug, qualsiasi debugger è migliore di niente. Troverai i tuoi problemi molto più velocemente se ti fermi ai punti di interruzione ed esamini le variabili piuttosto che se continui a modificare codice e rieseguire.

In quinto luogo, utilizzare "ColorPad" o un'applicazione simile per selezionare i colori per l'uso. Solo indovinare e inserire la tua ipotesi migliore in esadecimale non funziona molto bene.

Per le risorse, si consiglia di ottenere il libro "WPF Unleashed" e lavorare attraverso gli esempi. Vorrei anche leggere un sacco di XAML di altre persone, come può essere trovato su CodePlex.

Problemi correlati