Tak ta posledni veta me zaujala.. Teda ne ze by byla zajimava jenom ta... (aby si to autor spatne nevylozil :-)))
Fakt bych rad vedel, jake jsou moznosti nasadit squeak na server?? Hledal jsem o tom informace na internetu a nasel jsem jenom projekt commanche a ten mi prisel vcelku nepouzitelny pro situaci, ze bych nechtel, aby se na obsahu serveru meli moznost podilet vsichni uzivatele...
Predstava takoveho objektoveho stroje dostupneho pres sit + vzdalene volani metod + .... hmmmm to by mohlo byt zajimave....
Spojujete dohromady dvě věci. Comanche je webový server. Poskytuje základní vrstvu nad HTTP. To, o čem hovoříte, je Swiki, tedy webová aplikace postavená nad Comanchem pracující jako uživatelsky editovatelný web. Pokud svůj dynamický web nechcete stavět přímo nad poměrně nízkoúrovňovým Comanchem, je k dispozici ještě např. projekt SeaSide. Comanche toho sám o sobě umí docela hodně. Např. modul, který zobrazí na webu aktuální plochu Squeaku má jen jeden krátký řádek.
Co me nejvic na Squeaku stvalo, kdyz jsem si s nim chvili hral, byly fonty.
Jasne. Nezavislost na hostitelskem prostredi je pekna. Ale na ty vlastni Squeakovske fonty se neda koukat. Jsou proste horsi nez XPckove, mene prijemne, zvlast na LCDcku.
Da se s tim neco udelat, aby se pouzivaly systemove a nevykreslovaly se vlastni?
Squeak používá primárně bitmapové fonty. Není problém si je libovolně upravovat a vytvářet vlastní. Má rovněž prostředy pro práci s TrueType fonty.
Fonty se dají pomocí speciálních prográmků načíst z hostitelského systému. Squeak si je v tom případě vyrenderuje v požadované velikosti a uloží (jako bitmapu). Pak je už jen třeba si dávat pozor na použitou kódovou stránku a autorská práva k fontům.
Pár poznámek k českým fontům pro Squeak pod Windows a Linuxem naleznete taky: http://www.comtalk.net/Squeak/31
tyhle argumenty miluju - sice tam zadne kalendariky nejsou, ani combo boxy, ani dalsi veci, ale VELMI SNADNO si je muzete udelat sami!
to je krasa :)
logicky to ale muze ohromit jen lidi v akademickem prostredi. v praxi proste neni cas na psani (sic jednoduche) vlastnich combo-boxu, ktere se pak stejne nechovaji jako ty nativni, na ktere jsou uzivatele zvykli.
"...Morphic spíše než k prototypování a vytváření aplikací slouží pro prototypování grafických uživatelských rozhraní jako takových. Není problém si v něm udělat poměrně snadno třeba vlastní combo-box, ale už udělaný ho ve standardním Squeaku nikde nenajdete..."
Pokud člověk uvažuje o používání nějakého nástroje, musí vědět, co od něj čekat, za jakým účelem byl vytvořen, znát jeho omezení a možnosti. O to v tomhle článku jde. Morphic bohužel ještě nedospěl do stavu, kdy by jej bylo možno efektivně použít např. pro vytvoření běžné formulářové databázové aplikace.
Produktivita je pro praxi prvořadá. Právě proto je třeba začít brát Smalltalk velmi vážně. Opravdu to vynikne, pokud má člověk možnost porovnat programování ve Smalltalku a třeba v C++. Když zjistíte, kolikrát jste si nuceni v C++ házet sami klacky pod nohy a to ještě se svázanýma rukama...
Bylo by myslim dobre prestat srovnavat Smalltalk a C++. Nebo alespon netvrdit, ze z porovnani Smalltalku a C++ vychazi, ze je potreba Smalltalk brat velmi vazne.
C++ je jazyk navrzeny s ohledem na vykon a prakticke pouziti, cili je delany na neco uplne jineho nez Smalltalk.
Je to jako tvrdit, ze kladivem se hrebiky zatloukaji mnohem lepe nez krumpacem: je to pravda, ale k nicemu.
T.
- Nekteri Squeakeri maji tendeni pouzivat native widgets pro tzv. business aplikace (.NET bridge, pokusy pouzit xlib nebo gtk pres ffi, ...), prizcemz Morphic pouzivaji pro odvazovejsi GUI
- V te souvislosti si ale jeden squeaker posteskl, ze napriklad gtk vyviji radove vic programatoru nez cely Squeak s Morphicem, takze pri jakemkoliv porovnavani je potreba i na toto pamatovat.
- To, ze chybi nektere widgety, se obvykle resi "vykradanim" Squekovskych aplikaci a neoficialnich nadstaveb. Casem timto zpusobem snad vznikne konzistentni balik standardnich widgetu...
- Tu jednu smycku v Morphicu bych mozna tak kategoricky neodsuzoval. Kyzene chovani workspacu lze urcite zajistit i v soucasne architekture, ale je pravda, ze Morphic je treba dale vyvijet, a nebat se ani radikalnich kroku, pokud jsou smysluplne...
Mimochodem, to je opet kontroverzni rys Squeaku: Vyvojari nechteji nic prohlasit za definitivni, aby byl prostor pro vyvoj, zatimco uzivatele (aplikacni programatori) touzi po opaku (proto je treba Java tak oblibena - ona se prakticky nevyviji).
Ahoj
Zdravim vsechny a hlavne autora za skvely serial.
Chapu, ze autor uz ve Smalltalku uz dela dlouho,
ale me porad dela dost problemy "myslet" v St.
Proto bych ocenil misto pokrocilych veci jako GUI
spis nejaky stredne BFU program, samozrejme
maximalne okomentovany.
Ale jinak naprosta spokojenost, jen tak dal.
jak se v nem da delat neco jako "goto declaration" a zpatky? proste browsovat v kodu. jako Ctrl+] ve vimu ;-) nasel jsem jenom "senders of it (n)", a to otvira porad dalsi a dalsi okna, ktere maji jeste dost malou oblast, na vypis vsech trid, ktere tu metodu obsahuji, tam najdu metodu a ta se otevre zase v dalsim okne, nejde to udelat nejak jinak? v jednom okne? plus nejake nastaveni oken ( i nove otviranych), aby mely urcitou velikost?
Pokud jsem Vás správně pochopil, pak hledáte funkci "browse it" (klávesová zkratka Alt+b). Označí se požadovaný element (jméno třídy, selektor metody) a po stisku Alt+b se nad ním otevře browser.
Pokud Vám standardní velikosti a rozložení oken nevyhovuje, nic Vám nebrání si je přetvořit k obrazu svému zásahem do zdrojových kódů (viz Browser na iPaqu). Neberte to jako kličku, to je prostě Smalltalk...
Můžete vyzkoušet jiný typ browseru, třeba Whisker Browser nebo Star Browser (viz http://map1.squeakfoundation.org/sm/packagesbyname). Pokud ani ty nebudou vyhovovat vašim potřebám, nezbývá, než Vás odkázat na metodu browseIt třídy ParagraphEditor :-)
O žádné lepší možnosti doplňování než pomocí Alt+q bohužel nevím.
Tak jsem se na to o vikendu dival, celkem me to zaujalo a mel bych par otazek:
Jestli bych chtel pouzivat aplikace vytvorene ve squeaku, tak by se mely co nejvic podobat nativnim.
1. Jde nejak obejit model, ze aktivni je jenom to, na co ukazuji mysi? Proste aby sla vysledna aplikace ovladat i bez mysi a standartnima klavesama jako tab,c+tab atd. pripadne, aby mys nevladla vsemu?
2. Jde pouzit truetype fonty? Asi ano, kdyz je tam balik Balloon-TrueTypeFonts ;-) ale proc je nemuzu vybrat jako systemove fonty?
2a. Abych pristenemusel otravovat s dotazama, na co kazdy balik slouzi, jsou nekde popisy baliku? pripadne ukazky jejich pouziti?
3. vyhodit hlasku, ze chybi sources a changes? Odchytit a zrusit hlasku o zavirani okna a ukladani image? Prejmenovat jmeno okna a zmenit ikonku?
4. je mozne z neho (pripadne v nem) poustet externi programy a odchytavat jejich vystup?
5. je mozne vysledek potom distribuovat? je nejak urcena licence vysledneho programu?
6. A na zaver trochu rypava otazka, ale nechtel bych, aby to vyznelo nejak zle, proste jenom chci vedet, kde je ten figl: kdyz je tak jednoduche vytvorit si ty komba a dalsi formularove prvky, proc uz to nekdo neudelal? to plati treba i pro ty fonty, atd. existuje vubec nejaka aplikace, ktera se snazi 'zakryt' to, ze je squeakova a tvari se jako nativni? Kdyz uz je squeak/smalltalk tak stary a vyzkouseny, tak se mi zda trosku divne, ze za X let to v tak snadnem jazyce jeste nikdo neudelal.
7. A co rychlost? na windows se mi zda start, treba na rozdil od javy, celkem rychly. A zdani rozhoduje ;-) Ale zase mam rychly pocitac, protoze delam s javou, tak aby vubec fungovala ;-) jak je to se startem a rychlosti na pomalych(-lejsich) strojich?
Vazne si dovedu predstavit pouziti squeaku tam, kde se nehodi java, kvuli pomalosti startu a gui. Pro psani prenositelne klientske aplikace, treba klon windowscommanderu, ktery vypada a funguje stejne na win i na linuxu, uzivatel ani nevi, ze v exaci ma VM, a s fungujicim orezavacem ma cely program treba 2 mb. Ve srovnani s javou: rt.jar=23MB musi se to poustet pomoci prikazu, sere se do toho microsofti vm, o baleni do exe jsem neslysel(ne, ze neexistuje, ale neslysel :-( ). Proste mi vychazi pro squeak jenom same pozitiva a socialni jistoty, tak nevim.
Musi tam byt nejaka fligna, tak sem s ni!
1) Jeden z hlavních důvodů, proč byl tento systém ovládání focusu zvolen, je umožnit snadné ovládání Morphicu více uživateli pomocí několika kurzorů. Na druhou stranu dokáže občas pěkně naštvat a pro běžné aplikace se opravdu moc nehodí. Neexistuje žádný balík, který by se to snažil změnit na obecné úrovni, nicméně pokusy tu jsou (viz http://map1.squeakfoundation.org/sm/package/cb69ccb2-687b-4e85-a0a2-81e0e2023957)
2) Jak jsem psal výše, nativně se používají bitmapové fonty a před použitím se TTF fonty většinou vyrenderují. Sám jsem to nezkoušel, ale zkuste se podívat na metodu installTTF:asTextStyle:sizes: v metatřídě TTFFontReader class. Dále viz třída TTSampleFontMorph.
2a) Bohužel není žádná konvece, podle které by každý balík obsahoval jednu třídu jen s dokumentací a příklady. Dokumentace je pak rozhozená po více třídách a příklady většinou u konkrétních tříd v kategoriích examples.
Naučit se rychle orientovat ve zdrojových kódech Squeaku a umět v nich rychle najít to, co člověk potřebuje (a většinou to tam už najít může) je základem úspěchu. Chce to trochu praxe.
Obecná na rada pak zní: RTFSC (source codes)
3) Preferences - warnIfNoChagesFile, warnIfnoSourcesFile
Pro změnu jména aplikace do *.ini soboru zapište
WindowTitle = MojeAplikace
Se změnou ikony si nejsem moc jist. Budu se muset podívat do zdrojových kódů VM, jestli je i jiná možnost než ji upravit přímo ve zdrojích.
4) http://map1.squeakfoundation.org/sm/package/812c9d14-5236-4cad-82ea-cc3e3837e30d
5) http://www.comtalk.net/Squeak/27
6) On to občas i někdo pro svoje potřeby udělá (viz Zurgle, BobsUI apod.). Hlavní problém je asi v počtu lidí, kteří se Squeakem zabývají. Nevytvořila se zatím dostatečná komunita squeakerů, která by měla motivaci jej výrazně prosadit v praxi pro běžné nasazení. (Nechci říct přímo, že velká část squekerů je banda pohodlných intelektuálů s hlavou v oblacích :-)
7) Skutečně slabé stroje jsem nezkoušel. Nejpomaleji jsem viděl Squeak jet na 206Mhz iPaqu, kde bylo použitelné jen MVC. Když si ale vezmeme, kdy a na čem Smalltalk vznikl...
"...kterou bychom morphu měli přetížit, je zpráva drawOn:..."
Přetěžování je čistě sémantická(?) technika, která ve Smalltalku vzhledem k jeho beztypovosti/dyn. typovosti (při přetěžování typu návrat. hodnoty a typů parametrů metody) a syntaxi (při přetěžování počtu parametrů) neexistuje (parametry metody nejsou na jedné hromadě, ale odděleny částmi selektoru). Správný termín je zde "překrýt".