<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Verteksi &#187; java</title>
	<atom:link href="http://verteksi.net/soks/aihe/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://verteksi.net</link>
	<description>Se on kiva sillo</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:16:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vaadin tarjoaa Swingiä Web-sovellusten kehitykseen</title>
		<link>http://verteksi.net/soks/2009/11/21/vaadin-tarjoaa-swingia-web-sovellusten-kehitykseen/</link>
		<comments>http://verteksi.net/soks/2009/11/21/vaadin-tarjoaa-swingia-web-sovellusten-kehitykseen/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 15:33:41 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[koodaus]]></category>
		<category><![CDATA[sovelluskehitys]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javaee]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=1336</guid>
		<description><![CDATA[<p>Web-sovellusten kehitys Javalla on täynnä erilaisten frameworkkien kuten Strutsin, Springin ja JSF:n hyödyntämistä, joista jokaisessa on hyvät ja huonot puolensa ja varsinainen toteutus on usein sekoitus HTML-merkkausta ja koodia. Java EE -sovelluskehitystä voi kuitenkin katsella myös hieman erilaisesta näkökulmasta: Suomalainen IT Mill on rakentanut kokonaisuuden nimeltä <a href="http://vaadin.com/" class="liexternal">Vaadin</a>, joka tuo Javan Swing -maailman Web-sovelluksiin. Lopputuloksena on sovelluskehys, jossa HTML:n koodaaminen unohdetaan lähes täysin ja sovellusta toteutetaan samalla periaatteilla kuin työpöytäsovelluksia, joka on kätevää, jos tykkää Java Swing -tyylisestä sovelluskehityksestä.&#8230; <a href="http://verteksi.net/soks/2009/11/21/vaadin-tarjoaa-swingia-web-sovellusten-kehitykseen/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Web-sovellusten kehitys Javalla on täynnä erilaisten frameworkkien kuten Strutsin, Springin ja JSF:n hyödyntämistä, joista jokaisessa on hyvät ja huonot puolensa ja varsinainen toteutus on usein sekoitus HTML-merkkausta ja koodia. Java EE -sovelluskehitystä voi kuitenkin katsella myös hieman erilaisesta näkökulmasta: Suomalainen IT Mill on rakentanut kokonaisuuden nimeltä <a href="http://vaadin.com/" class="liexternal">Vaadin</a>, joka tuo Javan Swing -maailman Web-sovelluksiin. Lopputuloksena on sovelluskehys, jossa HTML:n koodaaminen unohdetaan lähes täysin ja sovellusta toteutetaan samalla periaatteilla kuin työpöytäsovelluksia, joka on kätevää, jos tykkää Java Swing -tyylisestä sovelluskehityksestä.</p>
<p>Vaadinta voi lyhyesti kuvata sanomalla sen olevan Swing-koodausta sekä hyvässä että pahassa. Web-sovelluksen toteutus Vaatimella on suhteellisen helppoa, mutta toisaalta se myös Swingin tapaan rajoittaa käyttöliittymäsuunnittelua. Toteutuksessa HTML:n ja komponenttien säätäminen jää pois, jolloin toteuttajat voivat keskittyä varsinaiseen toimintaan kuuntelijoiden ja tapahtumien parissa. Kokonaisuutena kehitys on tavallaan selkeämpää kuin esimerkiksi JSF:llä, jossa toiminnot hajoavat sekä sivuille että Java-luokkiin ja erilaisia säädettäviä XML:iä on useita. Totuus ei tietenkään ole aivan näin yksinkertaista, mutta melkein.</p>
<p>Sovelluskehityksen osalta Eclipselle on saatavilla WYSIWYG-editori ja sovelluksen debuggaus onnistuu normaalisti debug-moodissa ja käyttöliittymän osalta Firefoxin Firebug-lisäosalla, eli sen osalta ei ole mitään ihmeellistä. Käytettävissä on <a href="http://demo.vaadin.com/sampler/" class="liexternal">useita erilaisia komponentteja</a> ja hyvä dokumentointi, joilla toimintoja rakentaa. <a href="http://vaadin.com/tutorial" class="liexternal">Tutoriaalien</a> avulla pääsee helposti alkuun ja näkee mistä asiassa on kyse. Vaadin on lisensoitu avoimen lähdekoodin Apache License versio 2.0 -lisenssillä, joten tarvittaessa sen laajentaminen ja bugien korjaaminen on mahdollista. Saatavilla on myös maksullista tukea ja palveluita.</p>
<p>Vaadin perustuu <a href="http://code.google.com/intl/fi/webtoolkit/" class="liexternal">Google Web Toolkitin</a> päälle, jota käytetään selaimelle piirtämiseen ja GWT:hen verrattuna Vaadin-sovellukset pyörivät palvelinpuolella, kun GWT on selainpuolen sovellus. Vaadin-sovellus on paljolti sidottu JavaScriptiin ja siinä on mielestäni myös sen heikoin lenkki, sillä suorituskyvyllisesti käytetty lähestymistapa ei ole kovin tehokas. Etenkin monimutkaisilla käyttöliittymäkomponenteilla ja ulkoasuilla selaimen JavaScript-suorituskyky tulee äkkiä vastaan, vaikkakin tällä saralla on etenkin Googlen Chrome ja Safari kunnostautuneet. Muuten komponentit toimivat hyvin riippumatta käytettävästä selaimesta.</p>
<p>Vaikka Vaadin tavallaan yksinkertaistaa rikkaiden Internet sovellusten (RIA) tekemistä, pidän itse enemmän perinteisestä Java Server Facesiin (JSF) pohjautuvasta Web-kehityksestä. JSF:n kanssa käyttöliittymän koodi on erikseen HTML:ssä, johon on lisätty tarvittavat sidokset ja dynaamisuutta. Tietenkin tässäkin tavassa on omat ongelmansa, etenkin kun JSF 1.2 ja käyttöliittymäkomponentit ovat mitä ovat. Ehkä taustani Web-koodaajana vaikuttaa siihen, että pidän enemmän siitä, että pääsen helpommin näkemään ja säätämään käyttöliittymää HTML-tasolta, eli tekemään juuri sitä, mistä &#8220;perinteiset&#8221; Java-koodarit eivät tykkää. Ainakin saan tarkalleen mitä haluan, jos osaan sen HTML:llä, CSS:llä ja käytössä olevilla komponenteilla toteuttaa.</p>
<p>Vaadin on kuitenkin kätevä tapa toteuttaa Web-sovelluksia ja sillä saa kohtalaisen nopeasti aikaan hyvän näköistä jälkeä helposti. Toisaalta kuten kaikissa sovelluskehyksissä, on myös Vaatimessa asioita, jotka aiheuttavat kehittäjälle harmaita hiuksia. Nimi <a href="http://vaadin.com/forum/-/message_boards/message/19114" class="liexternal">Vaadin tarkoittaa</a> myös naaraspuolista poroa ja sanaa voidaan käyttää esimerkiksi lauseessa &#8220;Vaadin parempia käyttöliittymiä!&#8221;. </p>
<p>Näköjään seuraava <a href="http://vaadin.com/meetup" class="liexternal">Vaadin Developer Meetup</a> pidetään 3.12.2009 Pitäjänmäellä Helsingissä Logican tiloissa (ilmoittautuminen 26.11.2009 mennessä).</p>
<p>Esimerkkinä silloin vielä IT Mill Toolkit -nimellä tunnetulla Vaadin-kehyksellä hahmoteltu sähköpostisovellus:</p>
<div class="img-center">
<a href="/files/2009/tech/itmill_imail_1c.png" class="thickbox" title="" rel="vaadin"><img class="colorbox-1336"  src="/files/2009/tech/itmill_imail_1c_thb.png" alt="iMail" /></a> <a href="/files/2009/tech/itmill_imail_2c.png" class="thickbox" rel="vaadin"><img class="colorbox-1336"  src="/files/2009/tech/itmill_imail_2c_thb.png" alt="iMail" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2009/11/21/vaadin-tarjoaa-swingia-web-sovellusten-kehitykseen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java-kehitys ja OS X: JAR-paketin leipominen</title>
		<link>http://verteksi.net/soks/2009/04/28/java-kehitys-ja-os-x-jar-paketin-leipominen/</link>
		<comments>http://verteksi.net/soks/2009/04/28/java-kehitys-ja-os-x-jar-paketin-leipominen/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 18:38:25 +0000</pubDate>
		<dc:creator>Marko</dc:creator>
				<category><![CDATA[koodaus]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ohjelmointi]]></category>

		<guid isPermaLink="false">http://verteksi.net/soks/?p=1703</guid>
		<description><![CDATA[<p>JAR-paketin voi luoda Mac OS X:ssä joko perinteisesti tai helposti. Helpolla tavalla edettäessä saadaan määriteltyä muutamia OS X -spesifisiä ominaisuuksia, kun JAR-paketista luodaan niin sanottu app-sovellus.  App:n rakentaminen onnistuu Xcode Developer Toolsin mukana tulevalla <a href="http://developer.apple.com/documentation/Java/Conceptual/Jar_Bundler/" class="liexternal">Jar Bundlerilla</a> (/Developer/Applications/Utilities/), josta vain klikataan sopivat vaihtoehdot.</p>
<p><strong>Sovelluksen otsikon</strong> saaminen OS X:n menupalkkiin onnistuu antamalla Properties-välilehdeltä Bundle Nameksi haluttu teksti. Komentoriviltä ajettaessa otsikon asettaminen onnistuu <code>java -Xdock:name="Foo Bar" -jar foobar.jar</code> -komennolla.&#8230; <a href="http://verteksi.net/soks/2009/04/28/java-kehitys-ja-os-x-jar-paketin-leipominen/" class="read_more">Jatka lukemista <span class=\\\"meta-nav\\\">&#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>JAR-paketin voi luoda Mac OS X:ssä joko perinteisesti tai helposti. Helpolla tavalla edettäessä saadaan määriteltyä muutamia OS X -spesifisiä ominaisuuksia, kun JAR-paketista luodaan niin sanottu app-sovellus.  App:n rakentaminen onnistuu Xcode Developer Toolsin mukana tulevalla <a href="http://developer.apple.com/documentation/Java/Conceptual/Jar_Bundler/" class="liexternal">Jar Bundlerilla</a> (/Developer/Applications/Utilities/), josta vain klikataan sopivat vaihtoehdot.</p>
<p><strong>Sovelluksen otsikon</strong> saaminen OS X:n menupalkkiin onnistuu antamalla Properties-välilehdeltä Bundle Nameksi haluttu teksti. Komentoriviltä ajettaessa otsikon asettaminen onnistuu <code>java -Xdock:name="Foo Bar" -jar foobar.jar</code> -komennolla.</p>
<p><strong>Kuvakkeen</strong> luominen Applen icns-formaattiin onnistuu Xcoden Icon Composer -työkalulla  (/Developer/Applications/Utilities/), joka voidaan sitten liittää Jar Bundlerissa sovelluksen kuvakkeeksi.</p>
<p><strong>Perinteinen JAR-paketointi</strong><br />
Perinteinen Jar-paketointi menee luomalla Manifest.txt, jossa määritellään sovelluksen Main-luokka. Manifestissa pitää olla lisäksi yksi tyhjä rivi tiedoston lopussa.</p>
<blockquote>
<pre>Main-Class: foo.bar.logic.Lorem
</pre>
</blockquote>
<p>Manifest.txt lisätään JAR-pakettiin komennolla <code>jar cfm foobar.jar Manifest.txt foo/bar/</code>, jolloin Jar luo pakettiin oikeanlaisen Manifest-tiedoston.</p>
<p><strong>Levykuvan kasaaminen</strong><br />
Jos tehdyn App:n lisäksi haluaa jakaa (Mac OS X) käyttäjille muitakin tiedostoja kuten Readme-tiedoston, voi Disk Utilityn avulla kietaista kokonaisuuden levykuvaksi eli Disk Imageksi (.dmg). Kerää haluamasi tiedostot omaan kansioon ja  valitse Disk Utilitystä <em>File -> New -> Disk Image From Folder</em> ja valitse kansio, johon sovelluksen tiedostot keräsit. Nyt käyttäjän täytyy ennen sovelluksen käyttämistä avata tehty paketti Finderiin.</p>
]]></content:encoded>
			<wfw:commentRss>http://verteksi.net/soks/2009/04/28/java-kehitys-ja-os-x-jar-paketin-leipominen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

