čtvrtek 29. června 2006

Swing a SWT na OS Microsoft Vista

Daniel Spiewak připravil malé srovnání Swingu a SWT na OS Vista, které odráží aktuální stav těchto GUI technologii. Jako implementace Swingu bylo použité poslední dostupné JDK 6.0 Mustangu a pro SWET byl jako zástupce použit Eclipse.

Nasnímané obrázky ukazují a autor potvrzuje, že SWT je takřka nerozeznatelné od nativního vzhledu widgetu operačního systému ...I wasn't able to distinguish between native Vista and Eclipse in terms of its native widgets (obviously not counting CTabFrame et all).

Přes zjevné nedostatky Swingu není na místě tuto technologii zatracovat. Swing team usilovně pracuje na připravení všech widgetů, aby vypadaly na pixel stejně jako nativní widgety. Navíc podle vyjádření samotných Swing vývojářů jsou zmiňované anomálie podchyceny a pracuje se na jejich opravě. Diskuse viz Swing vs. SWT on Vista

pondělí 26. června 2006

JDK 6.0 (Mustang) s přibalenou databází

JDK pro nadcházející verzi 6.0 (kódové označení Mustang) bude obsahovat přibalenou nativní databázi Java DB. Sun za tímto krokem vidí možnost jak mezi vývojáře dostat malou embedded databázi s podporou specifikace JDBC 4.0. Podle prvních reakcí nebyl tento krok komunitou přijat s velkým nadšením.

Java DB je nativní Java databáze založena na Apache Derby s podporou SQL, JDBC, Java EE, Java ME CDC – konkurenční přístup, trigry, Java stored procedury. Velikost databáze je 2MB a databáze může běžet jak v klasickém režimu klient server tak v takzvaném režimu embedded (je programově spuštěna v rámci vlastní aplikace - tj. sdílí stejnou JVM).

Filozofická otázka, která přišla s tímto krokem Sunu zní, Měla by být databáze součástí JDK?. I přesto, že se to komunitě moc nezajídá, zacož může především samotný Sun neboť selhal na komunikační úrovni, určitě databáze do JDK patří. Poznámka na margo komunity, jde o způsob jakým Sun začlenění databáze provedl.

Databáze by měla být součástí JDK ze dvou důvodu. Usnadňuje počáteční vývoj JDBC pro nováčky a nabízí defaultní RDBMS úložiště pro aplikace, které se rozhodnou uchovávat data. Z hlediska nasazení nemusí být nutně tato databáze použita jako produkční, ale svoje místo najde například při testování či jiných servisních operacích.

Nevýhodou začlenění do JDK je svázání s jednou verzí databáze. Naštěstí není Java DB nijak provázaná s JRE takže nemůže dojít k problémům s aktualizací jako v případě Xercesu. V případě, že se rozhodnete databází s JDK používat, mělo by stačit přidat jar na classpath.

Sun tímto krokem rozvířil otázku jakým způsobem koncipovat skladbu JDK. Dnes je situace taková, že Sun může prakticky z čehokoliv učinit součást JDK. Na snadě je tedy jakási modularice JDK. Už dnes je součástí jednoho z distribučních balíčků JDK IDE NetBeans.

Mě osobně by nebyla cizí myšlenka jakéhosi Full JDK kompletu tj. všeho nutného pro vývoj v ME, SE a EE.

Základem by bylo JRE. Nad ním by byly stand alone komponenty nutné pro vývoj ve specifické oblasti například aplikační server pro J2EE a nebo emulátor mobilních telefonů pro ME. Součástí by bylo i IDE, které by krom obyčjneých nástrojů nabízelo například i profiler a nebo databázový prohlížeč. A nesmíme zapomenout na dokumentaci, příklady a návody.

Celý Full JDK bundle by se měl vtěsnat na jedno CD a měl by umožňovat plnohodnotnou službu i v offline módu. Samozřejmostí by byla i automatická aktualizace. Byl by pro Vás Full JDK bundle přínosem a nebo jste se současným JDK konceptem spokojeni?

Zdroje