|
Re: Rada s vyvojem projektu: msg#00375java.czech
a.dostal wrote: 1. Je možné vytvořit Swing (desktopovou) aplikaci tak, že na klientském PC bude jen "nějaký komunikátor, přihlášení", Ano, a uz dva lide vam odpovedeli, ze reseni se jmenuje Java Web Start. Pred spustenim aplikace se vzdy prekontroluje, zda neni na serveru novejsi verze, a pokud je, tak se nejdriv stahne ta novejsi verze a pak se teprve aplikace spusti.
Teoreticky to mozna jde, ale myslim, ze do toho nechcete jit. To by znamenalo menit casti aplikace za jejiho behu, a to je velice slozity problem. Jeste si tak dovedu predstavit, ze celou aplikaci rozdelite na nezavisle bloky, a dokazete za behu vyhodit a znovu nahrat cely blok. Ale vymenit za behu jenom par trid, na jejichz prave existujicich instancich zrovna zavisi jine casti aplikaci, IMHO nejde. Tedy abych byl presny - podle mne nejde, abyste za behu menil *rozhrani* trid, protoze pak muze v bezici aplikaci dojit k nekompatibilnim zmenam. Aktualizace aplikace pri startu, jako to dela Java Web Start, vam nestaci ? Muzete si prece do aplikace dodelat ocichavatko, ktere kdyz zjisti, ze je k dispozici novejsi verze, zobrazi v jedoucich aplikacich vystrahu "prosim prestartujte aplikaci, mame novou verzi". Pokud to poběží ze serveru, tak aby objekt musel být zrušen a vytvořen z nového kodu (asi je to takto nesmysl, ale nevím jak lépe to popsat). To co popisujete je dvouvrstva architektura s tlustym klientem - posilate klientovy vysledky z DB a tlusty klient s nimi musi umet neco udelat. To co se nekteri snazili naznacit je, ze lepsi je trivrstva architektura - vysledky z DB posilate do aplikacniho serveru, se kterym komunikuje uzivatelske rozhrani. To ma vyhodu v tom, ze muzete mit nekolik ruznych rozhrani (Swing, staticke HTML, HTML+JavaScript/AJAX, mobily, ...) k jednou naprogramovane logice aplikace. 4. Učím se Swing, jak vytvářet (JTable) tabulky, pracovat s nimi, události, vícevláknové programování, apod. Swing je na tvorbu uzivatelskeho rozhrani. Aplikacni logiku muzete mit budto ve stejnem programu (dvouvrstva arch.) nebo na jinem stroji (trivrstva arch.). Na programovani uzivatelskeho rozhrani to nemam mit vliv, protoze i ve dvouvrstve architekture je rozumne oddelit zobrazovani od aplikacni logiky. Viz Model-View-Controller. http://en.wikipedia.org/wiki/Model-view-controller 5. Poslední a asi nejdůležitější věc o kterou mě šlo. Na co bych se měl ve svém studiu nejvíce zaměřit. IMHO potřebujete dvě víceméně nesouvisející věci. Jedna je umět programovat grafické uživatelské rozhraní (GUI) ve Swingu, a druhá je umět navrhnout správnou architekturu celé aplikace. Pro začátek, aby toho nebylo najednou moc, si můžete zkusit naprogramovat tlustého klienta, který přes JDBC rovnou přistupuje do databáze, rovnou na svém stroji. Pak z něj udělat aplikaci spouštěnou přes Java Web Start. V té době pochopíte, proč je lepší udělat to třívrstvě, tak jako další krok přesunete Model ze svého tlustého klienta na aplikační server. A to dobou už budete mít aplikaci hotovou :-) Makub -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Supercomputing Center Brno Martin Kuba Institute of Computer Science email: makub-8qz54MUs51PtwjQa/ONI9g@xxxxxxxxxxxxxxxx Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --------------------------------------------------------------
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Rada s vyvojem projektu, Roman Pichlik |
|---|---|
| Next by Date: | Re: Kde bezim v clusteru x archiv konference?, Jiří Melichna |
| Previous by Thread: | Re: Rada s vyvojem projektu, Roman Pichlik |
| Next by Thread: | Re: Rada s vyvojem projektu, Petr Kolesa |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |