12

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

7

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.

+0

Grazie Neil, si spera più Smalltalkers sarà gravitare verso SO - non è un sito di male ... – KHWP

4

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.

3

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.

1

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.