<?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>Muráti Ákos honlapja &#187; jdeveloper</title>
	<atom:link href="http://murati.hu/tag/jdeveloper/feed/" rel="self" type="application/rss+xml" />
	<link>http://murati.hu</link>
	<description>Muráti Ákos személyes és szakmai oldala</description>
	<lastBuildDate>Wed, 11 Aug 2010 05:08:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JDeveloper 11g vs. Visual Studio 2008 &#8211; Alapok</title>
		<link>http://murati.hu/c6_oracle/jdeveloper-11g-vs-visual-studio-2008/</link>
		<comments>http://murati.hu/c6_oracle/jdeveloper-11g-vs-visual-studio-2008/#comments</comments>
		<pubDate>Sun, 10 May 2009 18:31:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[jdeveloper]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.murati.hu/oracle/index.php?p=25</guid>
		<description><![CDATA[A napokban kezdtem el a féléves önálló-labor feladatom előkészítését a következő félévre, melyet Java-ban kell implementálnom. Témacsoportomból adódóan a fejlesztőkörnyezet magát kínálta, így esett a választás az Oracle JDeveloper 11g -re. Másfél éve fejlesztek kisebb-nagyobb alkalmazásokat, komponenseket  C# -ban és már évek óta használom a Visual Studio -t egyéb nyelvekhez is, így mondanom sem kell, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">A napokban kezdtem el a féléves önálló-labor feladatom előkészítését a következő félévre, melyet Java-ban kell implementálnom. Témacsoportomból adódóan a fejlesztőkörnyezet magát kínálta, így esett a választás az Oracle JDeveloper 11g -re. Másfél éve fejlesztek kisebb-nagyobb alkalmazásokat, komponenseket  C# -ban és már évek óta használom a Visual Studio -t egyéb nyelvekhez is, így mondanom sem kell, hogy nagyon szívemhez nőtt a Microsot IDE -je, különösen a legutolsó változat, a Visual Studio 2008. Korábban Java kódot csak NetBeans -ben fejlesztettem, a JDeveloper korábbi verzióját a 10-est csak egy két labor alkalmával volt lehetőségem használni, így nem volt túl sok tapasztalatom a termékkel kapcsolatban. Ezért döntöttem úgy, hogy először összegyűjtöm azokat az alapfunkciókat, amelyeket megszokhattunk egyikben-másikban és ezek szempontjából összehasonlítom őket.<span id="more-25"></span></p>
<h5>Szoftverek Elérhetősége</h5>
<p style="text-align: justify;">Először is a legnagyobb különbség a két IDE (Integrated Development Environment) között, hogy míg az Oracle mindkét JDeveloper csomagja teljesen ingyenesen elérhető, a Microsoft a 3 különböző csomagja közül csupán a Visual Studio Express kiadásait (C#, C++, Visual Basic, Web Developer) tette ingyenessé, a Professional és a Team System kiadást külön termékként kell megvásárolni. A helyzet persze nem ennyire rossz, hiszen haszánkban az állam és a Microsoft közötti Campus és School megállapodás keretében a Professional változat is ingyenesen elérhető a tanárok és diákok részére, természetesen csak oktatási célokra felhasználva. Ebből kifolyólag ebben az elemzésben csak az Visual Studio 2008 Express Editions -t,  fogom az Oracle JDeveloper 11g u2 -vel összehasonlítani.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong>Környezetek letöltése:</strong></span></p>
<ul>
<li><a href="http://www.microsoft.com/express/product/" target="_blank">Microsoft Visual Studio 2008 Express Edition</a></li>
<li><a href="http://www.oracle.com/technology/products/jdev/index.html" target="_blank">Oracle JDeveloper 11g Update 2</a></li>
</ul>
<h4>Platform és nyelvi összehasonlítás</h4>
<table border="1" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td style="text-align: justify;"><strong>Szempont</strong></td>
<td style="text-align: justify;"><strong>Oracle JDeveloper 11g</strong></td>
<td style="text-align: justify;"><strong>Microsoft Visual Studio 2008 Express Editions</strong></td>
</tr>
<tr>
<td style="text-align: justify;">Környezet</td>
<td>
<p style="text-align: justify;">Windows, Linux,<br />
minden JRE-re képes OS</td>
<td style="text-align: justify;">Windows</td>
</tr>
<tr>
<td style="text-align: justify;">Nyelvek</td>
<td style="text-align: justify;">Java</td>
<td style="text-align: justify;">C#, C++, VB és még további 40 <a href="http://en.wikipedia.org/wiki/Common_Language_Infrastructure">CLI</a> képes nyelv</td>
</tr>
<tr>
<td style="text-align: justify;">Fordított kód</td>
<td style="text-align: justify;"><a href="http://en.wikipedia.org/wiki/Java_bytecode" target="_blank">Java Bytecode</a></td>
<td style="text-align: justify;"><a href="http://en.wikipedia.org/wiki/Common_Intermediate_Language" target="_blank">Common Intermediate Language</a></td>
</tr>
<tr>
<td style="text-align: justify;">Platformfüggetlen</td>
<td style="text-align: justify;">Igen</td>
<td style="text-align: justify;">Igen</td>
</tr>
<tr>
<td style="text-align: justify;">Virtuális gép</td>
<td style="text-align: justify;">JVM</td>
<td style="text-align: justify;"><a href="http://en.wikipedia.org/wiki/Common_Language_Runtime">CLR</a> VM (.NET, MONO)</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Ahogy a táblázatból is láthatjuk mindkét fejlesztő környezet platformfüggetlen kódok fejlesztését szolgálja, azonban maga az IDE Microsoft VS 2008 EE esetében csak Windows-on futtatható, míg a JDev gyakorlatilag bármilyen fejlesztésre használható OS-en. A nyelvek szempontjából a JDev ugyan csak Java és ahhoz közeli technológiák, metanyelvek fejlesztését támogatja, a VS Studio ennél  jóval többet, de a két két környezet ilyen szempontból nem is fedi egymást, hiszen a 2001-es megállapodásuk óta a  Microsoft nem botorkál a Java háza táján, így saját Java Virtuális gépét, a Microsoft Java Virtual Machine -t és fejlesztői környezetét is, a Visual J++ is a múltnak adta. Innentől mondhatjuk olyan szép egységesnek és valóban platformfüggetlennek a Java-t, mint amilyen most.</p>
<p style="text-align: justify;">Ugyanakkor a Microsoft -ot sem kell sajnálni, hiszen ekkor már készen volt a CLI, azaz a Common Language Interface terve, ami a platformfüggetlenség mellett a nyelvi függetlenséget hivatott megteremteni, ami később az Intel, a HP és a Novell támogatásával hivatalos szabvánnyá is vált. A fejlesztő környezet ekkor a forráskódot egy a Java bájtkódhoz hasonló köztes kódba, a CLI -be fordítja, melynek platformfüggő részeit a virtuális gép fog futásidőben fordítani. Az egyik legnépszerűbb  framework, a Microsoft .NET -et kivéve, a Novell által szponzorált <a href="http://www.mono-project.com/Main_Page" target="_blank">MONO </a>lett, ami valódi cross-platform futtatást biztosít az emulációk helyett a .NET -ben írt kódok végrehajtására Linux-on, Mac-en és természetesen Windows-on is.</p>
<h4>Felület és kódolás</h4>
<table border="1" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td style="text-align: justify;"><strong>Szempont</strong></td>
<td style="text-align: justify;"><strong>Oracle JDeveloper 11g</strong></td>
<td style="text-align: justify;"><strong>Microsoft Visual Studio 2008 Express Editions</strong></td>
</tr>
<tr>
<td style="text-align: justify;">Indítás sebessége</td>
<td style="text-align: justify;">~15 mp</td>
<td style="text-align: justify;">~2 mp</td>
</tr>
<tr>
<td style="text-align: justify;">IDE Felület, menük</td>
<td style="text-align: justify;" colspan="2">Közel azonos, kulturált, varázslókkal tűzdelt, gyors kódolástámogatás, színezés, kód-/design-/osztálydiagram nézet, XML szerkesztő és egyéb specifikus objektumok szerkesztői, adatforráskezelés, színezések stb&#8230;</td>
</tr>
<tr>
<td style="text-align: justify;">Legfelső munkaterület elnevezése</td>
<td style="text-align: justify;">Application</td>
<td style="text-align: justify;">Solution</td>
</tr>
<tr>
<td style="text-align: justify;">Munkaterület</td>
<td style="text-align: justify;">Project</td>
<td style="text-align: justify;">Project</td>
</tr>
<tr>
<td style="text-align: justify;">Forrás és adatforrás elkülönítés</td>
<td style="text-align: justify;">Igen (Application Navigator)</td>
<td style="text-align: justify;">Nem (Project Explorer)</td>
</tr>
<tr>
<td style="text-align: justify;">Gépelés közbeni kiegészítés</td>
<td style="text-align: justify;">Nem, csak kikényszerítve</td>
<td style="text-align: justify;">Igen (IntelliSense)</td>
</tr>
<tr>
<td style="text-align: justify;">Gyakori metódusok kiegészítés</td>
<td style="text-align: justify;">Nem</td>
<td style="text-align: justify;">Igen (IntelliSense)</td>
</tr>
<tr>
<td style="text-align: justify;">Kódkiegészítés</td>
<td style="text-align: justify;">Igen CTRL+SPACE</td>
<td style="text-align: justify;">Igen CTRL+SPACE</td>
</tr>
<tr>
<td style="text-align: justify;">Kódrészlet beszúrás</td>
<td style="text-align: justify;">Igen CTRL+ENTER</td>
<td style="text-align: justify;">Igen (TAB+TAB)</td>
</tr>
<tr>
<td style="text-align: justify;">Kódváltozás követés</td>
<td style="text-align: justify;">History fül</td>
<td style="text-align: justify;">Forráskód margóján jelölve</td>
</tr>
<tr>
<td style="text-align: justify;">Kódváltozás visszavonás</td>
<td style="text-align: justify;">Tetszőlegesen</td>
<td style="text-align: justify;">Csak sorrendben</td>
</tr>
<tr>
<td style="text-align: justify;">Kódolás közbeni hibakeresés</td>
<td style="text-align: justify;">Szövegben és margón</td>
<td style="text-align: justify;">Csak szövegben</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Az első szembetűnő különbség viszont az, hogy a JDev indításkor elég lassan teljesít, 15 mp alatt sosem indult el a gépemen, míg a VS 2008 alig 2 mp alatt már használható, de ez nyilván a Java megszokott indítási lassúságának tudható be.</p>
<p style="text-align: justify;">A két környezet felülete többnyire megegyezik, nagyjából ugyanazokat a bevált funkciókat kaphatjuk mindkét rendszerben. Egy másik különbség a source és resource elkülönítése a két IDE között, hogy míg az Oracle külön konténerben mutatja ezeket az egész Application-re vontakoztatva, a Microsoft ezeket a Projektekhez kötve mutatja meg azok projekt fájában.</p>
<p style="text-align: justify;">A forrsákód szerkesztőben további eltérések érzhethetők, amik lassíthatják a kódolást, ha valaki az egyik stílushoz már hozzászokott. Személy szerint nagyon hiányoltam a JDev-ből a VS-ben IntelliSense-nek keresztelt jószágot, ami intelligensen alkalmazkodva kódomhoz már gépelés közben felajánlja a lehetséges kódrészleteket és az ahhoz tartozó típusleírásokat, paraméterezéseket, így gyakorlatilag pár karakter és a szóköz nyomkodásával elkészülhet az értelmes kódunk. A JDeveloperből a felajánlásokat csak a CTRL+SPACE -szel lehet kikényszeríteni, és sajnos azok sem nyújtanak típusleírást vagy paraméterezési segítséget. A JDeveloperben a kódrészlet, vagy kódsablonok beszúrását a CTRL+Enter kombinációval érhetjük el, míg VS-ben ezt is automatikusan az IntelliSense nyújtja a TAB+TAB segítségével, ami szintén kényelmesebb, mint a billentyűkombinációis megoldás.</p>
<p style="text-align: justify;">A kódolás közbeni hibakeresés mindkét környezetben megtalálható, a JDeveloperben azonban talán egy kicsit hangsúlyosabb a forráskód margóján való figyelmeztetéssel, de ez persze csak ízlés kérdése.</p>
<p style="text-align: justify;">A kód változáskövetés, azaz a mentett  és szerkeszett források közötti különbségeket a VS-ban rögtön a forráskód margóján jelennek meg, azonban ezek visszavonása csak fordított sorrendben történhet, míg a JDev -ben ez a funkció ugyan külön fülre, a History-ra került, de itt az összehasonlító nézet mellett az egyes változásokat akár külön-külön is visszavonhatjuk, tetszőleges sorrendben, ami remek funkciónak bizonyul a fejlesztések során.</p>
<p style="text-align: justify;">Összefoglalásul tehát annyit mondhatunk, hogy mindkét fejlesztői környezet profi módon látja el feladatát, de egyik sem váltható ki a másikkal, hiszen nyelvi átfedés nincs közöttük, mindkét IDE egy vagy több platformfüggetlen nyelvre és környezetre összpontosít, de az általuk kínált kiegészítő szolgáltatások erősen gyártó specifikusak. Mind az Oracle, mind pedig a Microsoft a saját termékpalettájához szeretne minél professzionálisabb fejlesztői eszköztárat nyújtani, ezért a két termék békében elfér egymás mellett, nekünk csak résen kell lenni, hogy melyik forrás-szerkesztőben nyomjuk azt a spéci TAB-TAB párost.</p>
]]></content:encoded>
			<wfw:commentRss>http://murati.hu/c6_oracle/jdeveloper-11g-vs-visual-studio-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

