Come posso scrivere un GIU in Squeak? Sono un principiante di Smalltalk e sto usando il VisualWorks di Cincom al momento, ma mi piacerebbe provare Squeak. Vedo che Squeak ha Morphic per la grafica ma per la vita di me non riesco a trovare un pacchetto per scrivere una GUI basata su MVC.Scrittura di una GUI in squittio
risposta
Squeak include tutte le classiche classi MVC, ma puoi anche creare GUI usando Morphic, anzi molto più interessanti di quelle che puoi (facilmente) con MVC - dopotutto perché è stato creato Squeak!
Si noti che è possibile ottenere una risposta migliore in un post più specifico: non sembrano esserci molte persone Smalltalk su SO. Prova con http://news.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners per iniziare.
GUI e Squeak sono prima di tutto molto confusi. È abbastanza facile creare una GUI usando Squeak. Fondamentalmente, si disegnano solo alcuni rettangoli, si copiano alcune caselle di testo, gli aloni di ogni metamorfosi consentono la clonazione e quindi è possibile rilasciare questi morph nella nuova interfaccia utente. È più difficile aggiungere il TUO comportamento all'interfaccia utente appena creata poiché in qualche modo devi trovare il tuo widget nel browser del codice.
Questa è la parte in cui vorrei sottolineare che trovo molto fastidiosa l'implementazione Morphic in Squeak. Quindi, forse ho sbagliato tutto questo, ma è così che lo vedo. Morphic è stato progettato per consentire di costruire graficamente la tua interfaccia utente con pochi clic. Ed è stato progettato così nell'ambiente di programmazione Self, dove non c'è spazio tra gli oggetti del Browser. Registrare il tuo clone nell'albero del codice ordinario è una banalità nel Sé. (Ovviamente non è banale esportare il tuo programma, ma di nuovo, in Smalltalk non è mai facile comunque).
Quindi, il codice morfico del mondo reale che ho incontrato di solito tratta i morph come qualsiasi altro oggetto framework dell'interfaccia utente: creando l'interfaccia utente dal codice, ignorando l'edificio grafico. Non ho visto un modo conveniente per "scongelare" un'interfaccia utente morfo in un file nel modo in cui Interface Builder fa su Mac OS X. O, più in generale, se si fa clic su un'interfaccia utente morfica, è difficile accedervi dal codice Browser.
Il suggerimento di Neil di lasciare da parte l'intera faccenda di Morphic e di passare a MVC potrebbe essere comprensibile. Eppure, le poche volte che ho avuto a che fare con le interfacce utente in Squeak, ho esaminato il codice di generazione dell'interfaccia utente da tutta l'immagine e ho cercato di modificare il loro stile.
Dipende da cosa vuoi fare, da chi è il tuo pubblico. L'MVC originale è veloce ma non è più mantenuto, e sembra molto 1980. Il Morphic originale nel Self potrebbe essere stato bello, ma in Squeak si è evoluto in un pasticcio di spaghetti. Date un'occhiata a un paio di classi al vertice della gerarchia di ereditarietà Morph
s' ...
C'è qualche sforzo in Pharo di portare uno sguardo più bello per i widget Morphic, in modo da non spaventare i nuovi arrivati via la seconda che apri un'immagine. Inoltre ci sono promettenti legami GTK e Objective-C sotto il lavoro che mi piacerebbe vedere ottenere più uso. Infine, vediamo sempre più app Web ... Seaside può essere una buona alternativa alle interfacce utente native, poiché eccelle nelle applicazioni web con flussi complessi.
Abbiamo un'applicazione standard, Windows, scritta in Squeak. La maggior parte è fatta con Morphic. Morphic fornisce un sacco di valore per l'esperienza utente principale. La configurazione del software era però "strana" quando si utilizzavano finestre di dialogo, selezione file, ecc.
Sono stato davvero felice di scoprire WxSqueak di recente che offre un'esperienza nativa da Windows. Lo sto usando in congiunzione con Morphic.
provare il Designer Morphic:
https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer
Bye, Marcel Taeumel
- 1. Messaggi di intercettazione in squittio
- 2. Scrittura C# GUI su una DLL C++ o exe C++
- 3. Propagazione di eventi in una GUI Morphic
- 4. Scrittura di una somma doppia in R
- 5. Scrittura di una macro ++ in Common Lisp
- 6. Esecuzione di una GUI Cocoa in una thread non principale
- 7. Scrittura di una funzione personalizzata
- 8. Come aggiornare una GUI in Java?
- 9. Caratteri giapponesi in una GUI Java
- 10. Come posso programmare una GUI in MATLAB?
- 11. Come posso mostrare l'output della console Perl in una GUI?
- 12. Scrittura di una stringa a una cella in Excel
- 13. Scrittura di una classe che accetta una richiamata in Python?
- 14. Aggiunta di una GUI a VBScript
- 15. C'è una gui per nosetests
- 16. strumento Una GUI per MongoDB
- 17. Il GCC ha una GUI?
- 18. Architettura di una funzione di scrittura intensiva
- 19. Creazione di una GUI senza un framework in C
- 20. Scrittura in una sessione di sola lettura in MVC 3+
- 21. Programmazione GUI in LISP?
- 22. Scrittura di un gestore di memoria in una lingua gestita?
- 23. Scrittura di stream node.js in una variabile di stringa
- 24. Programmazione GUI in Scala
- 25. Scrittura di una VM - bytecode ben formato?
- 26. Scrittura di una funzione che "risolve" un'equazione
- 27. Scrittura di una sottoquery tramite Zend DB
- 28. Scrittura di JTable in Excel
- 29. Scrittura di una semplice funzione utilizzando
- 30. scrittura di una sottoquery utilizzando Zend_Db_Table_Select
Grazie Neil, si spera più Smalltalkers sarà gravitare verso SO - non è un sito di male ... – KHWP