LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek Java (24) - úvod do grafiky a GUI

GUI frameworky 24.4.2006 11:35
Lukáš Zapletal
Doufám že autor zmíní současné GUI frameworky jako je Netbeans Platform nebo Eclipse Rich Client Platform. S druhým jmenovaným mám jen ty nejlepší zkušenosti, je postaven nad SWT.
Re: GUI frameworky 24.4.2006 12:20
Petr Zajíc

Taky bych se přimlouval, aby se to tu objevilo. Ovšem já mám zase spíš dobré zkušenosti s NetBeans Platform. Důvod je ten, že na 64-bitech je málokde k vidění SWT (aspoň teda nad Windows).

Re: GUI frameworky 24.4.2006 14:23
Lukáš Jelínek

Objeví se. Mám to v plánu ;-)

Rada s vyvojem projektu 26.4.2006 08:13
Aleš Dostál

Omlouvám se, za duplikaci, ale na tento příspěvek mi na konferenci java.cz neodpověděli, pouze nějaké spojení s AJAX, čemuž jsem se chtěl vyhnout. Vím, že to sem úplně nepatří a pokud to nepůjde, obrátím se tedy na aglicky mluvící fora.

O Javu jsem se začal zajímat asi před 3-4 měsíci, kdy jsem si ji po zdravém zvážení zvolil jako výchozí platformu, na které chci v budoucnu stavět své aplikace.
Nyní jsem programátorem v PHP (Javu se zatím mám stále pouze učím z knih a internetu), ve kterém tvořím webovou aplikaci informačního systému, která běží na intranetové síti.
Aplikace v dnešních dnech obsahuje cca. 30 modulů od schvalování požadavků na informatiku po plánování pracovníků., ....
Jako datový zdroj využívám MySQL, která je plněna z dalších systémů běžících na Oracle či v dosovém režimu, čili ze souborů csv.
Aplikace má po ročním vývoji cca. 160 tabulek a je mi jasné, že PHP + MySQL je na takto velký systém (stále se rozšiřující) naprosto nevhodná.

Jako své řešení mě napadlo vytvářet SWING aplikaci (tlustého klienta), která bude jako datovou základnu využívat mysql a později Oracle.
Rád bych věděl, zda je možné vytvářet swing aplikaci tím způsobem, že na klientském PC bude pouze malý "komunikátor", který zobrazí přihlašovací obrazovku a po úspěšném přihlášení se na klientské PC nahraje SWING aplikace. Jde mi totiž o to, že aplikace se bude stále vytvářet a nebylo by možné každý den aktualizovat klientské stanice s novými rozšířeními.
Vím, že existují tzv. distrubuované objekty, ale jsem v Jave zatím na začátku a nevím jak toto skutečně využít.
Datová základna chci, aby obsahovala uložené procedury, apod. tzn. vlastní aplikační logiku, abych co nejméně musel řešit tyto věci přes javu a tím jí s DB přímo svazoval (i když se tomu ve většině případů nevyhnu [pivotní tabulky, složité where podmínky po filtraci, apod., věci, které nyní často řeším v PHP přes array, ne vždy lze totiž napsat pouze 1 select]).

Popsal jsem tedy třívrstvou aplikaci DB -> server -> klient.
Jako vývojové prostředí jsem si zvolil Eclipse, které nyní používám víceméně na PHP.

Ve webové aplikaci se mi líbí ta logika, že se jedná o tenkého klienta a uživateli stačí jen webový prohlížeč. Navíc při změně skriptů, se změna projeví hned, jak ji nahraji na server, což mi umožňuje stále projekt nezávisle na klientstkých PC rozšiřovat.
Od aplikace ve SWINGU si slibuji to, že toto půjde vyřešit distribuovanými objekty. U tlustého klientka chci využívat různé události a změny na straně klienta, aniž by se mi musela refreshovat stránka jako u webové aplikace. Zkoušel jsem používat v PHP např. AJAX ši jen obyčejný javascript, ale nic z toho mi k srdci nepřirostlo a navíc implementace je dost složitá, těžkopádná a ne každý prohlížeč ji podporuje.

Rád bych věděl na co bych se ve svém studiu Javy měl nejvíce zaměřit, pokud chci tvořit takovou aplikaci. V současné době jsem na toto vše sám, což se sice může v budoucnu změnit, ale jistě ne v nejbližších měsících.
Zatím se dost peru s OOP, mám totiž navýky psát procedulárně, což se sice pomalu odnaučuji na PHP5, ale jak sami jistě víte, není to zrovna dobře řešený OOP jazyk.
Co se týče literatury, v dnešních dnech využívám více méně české weby linuxsoft.cz, interval.cz, java.cz, na kterých jsou nějaké návody + knihy Rudolfa Pecinovského, programujeme profesionálně v jazyku Java či základy v jazyku Java.

Za případné návrhy na co se nejvíce zaměřit a jakým způsobem řešit navrhovanou aplikaci, budu moc rád, děkuji.

Re: Rada s vyvojem projektu 29.4.2006 12:34
Lukáš Jelínek

I když jsem úplně nepochopil, co má být přesně cílem, zkusím odpovědět. Pokud má klient těsně spolupracovat se serverem, je možností celá řada.

Kromě nějakého vlastního řešení lze použít RMI (Remote Method Invocation, obdoba známého RPC), Java IDL (javovská implementace CORBA, tedy distribuovaných objektů) nebo i EJB (Enterprise JavaBeans, přidávající navíc ještě distribuované transakce).

Ale co konkrétně by se hodilo nejvíc, to bohužel nejsem schopen posoudit - jednak neznám detaily, a za druhé zatím nemám moc zkušeností s IDL/CORBA ani s EJB.

Proto bych doporučil nahlédnout na stránky Java IDL, EJB a též i CORBA. Jsou tam poměrně dobře popsány vlastnosti jednotlivých technologií a způsob jejich použití.

Jinak co se týká samotného programování v Javě, mohu doporučit knihu Java efektivně od J. Blocha - nezabývá se vůbec knihovnami atd., ale zato poskytuje dobrý návod, jak maximálně využít Javu jakožto jazyk.

Re: Rada s vyvojem projektu 2.5.2006 16:13
by default

Dobrý den,

pakliže chcete mít tlustého klienta ve "Swingu", zkuste zapřemýšlet o Java WebStart. Je to velmi zajímavá technologie, která (když se správně použije) řeší updaty aplikací atd atd.

Co se týče komunikace klienta se serverem, můžete použít RMI (jak píše p. Jelínek), nebo třebas JMS, které se mi velice osvědčilo pro rozsáhlé aplikace. Výhodou je, že pro většinu Brokerů existují konektory i do jiných jazyků než je Java (hlavě C/C++, Perl, Python, PHP...) Prozkoumejte např. ActiveMQ (http://incubator.apache.org/activemq), případně celý projekt GlassFish stojí za prozkoumání (https://glassfish.dev.java.net); ten obsahuje Sunní IMQ, ke kterému zatím nejsou zdrojové kódy k dispozici (dostupné budou patrně Q4/2006).

Hodně štěstí!

Re: Rada s vyvojem projektu 3.5.2006 14:40
Aleš Dostál

Děkuji za nakopnutí :)

Koukal jsem na způsob implementace Java WebStart a je to přesně to, co jsem hledal. Tzn., že potřebuji automatickou aktualizaci aplikace, což je přesně ono.

Asi budu nejspíše potřebovat i ty distribuované objekty, jelikož pro přístup k DB např. pro Oracle bych musel mít na klientovi klienta pro Oracle, což nechci.
Stahnutí aplikace myslím, že chápu, jen zde ještě trochu plavu.
Aplikace bude z 90% o výpisu dat z DB do tabulek, což bych potřeboval vyřešit na straně serveru a klientovi poslat jen data.

styska se mi... 4.6.2006 21:32
Jirka Hrbek

... po dalsim dilu - ja vim ze to neni zadna sranda napsat dalsi hezkej dil... ale chci jen naznacit, ze se moc tesim :)


KOMENTARZE
GUI frameworky 24.4.2006 11:35 Lukáš Zapletal
L Re: GUI frameworky 24.4.2006 12:20 Petr Zajíc
  L Re: GUI frameworky 24.4.2006 14:23 Lukáš Jelínek
Rada s vyvojem projektu 26.4.2006 08:13 Aleš Dostál
|- Re: Rada s vyvojem projektu 29.4.2006 12:34 Lukáš Jelínek
L Re: Rada s vyvojem projektu 2.5.2006 16:13 by default
  L Re: Rada s vyvojem projektu 3.5.2006 14:40 Aleš Dostál
styska se mi... 4.6.2006 21:32 Jirka Hrbek
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4875x
2. FreeBSD
Download: 9064x
3. PCLinuxOS-2010
Download: 8562x
4. alcolix
Download: 10945x
5. Onebase Linux
Download: 9660x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6241x

1. xinetd
Download: 2412x
2. RDGS
Download: 937x
3. spkg
Download: 4758x
4. LinPacker
Download: 9963x
5. VFU File Manager
Download: 3197x
6. LeftHand Mała Księgowość
Download: 7202x
7. MISU pyFotoResize
Download: 2807x
8. Lefthand CRM
Download: 3562x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3119x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz