COMPUTERWORLD
Specializovaný týdeník o výpočetní technice
o Internetu
(CW 13/97)

Základy programování v Javě

Bedřich Smetana

V nedávných dobách začala firma Sun hovořit o jakési Javě, která, jako zatím prakticky jediný programovací jazyk na Internetu, měla přinést zvýšení jeho možností. Obdobně, jako málokdo čekal tak rapidní nárůst zájmu o Internet, tak i k Javě bylo mnoho lidí z branže původně skeptických. Dnes se na vše díváme s odstupem, a pokud by Java potřebovala reklamu, nejspíše by zněla asi takto: "Dny ošklivých neinteraktivních stránek jsou sečteny".

Hezky od začátku

Podle výzkumů stále stoupá zájem o Internet, jako prostředek pro výdělek, práci či získání informací, nad jeho zatím převažujícím zábavným charakterem. Jak ale udělat Internet užitečným, když definice HTML je tak chudá a tvorba jakýchkoliv interaktivních dokumentů byla záležitostí omezených a složitých CGI-skriptů? Internetu totiž chyběl nástroj, pomocí něhož by se vytvářely aplikace, s nimiž by bylo možné pracovat na síti, vytvořit libovolnou prezentaci, animaci, či jiné dílo, které by mělo jako výstup obrazovku webovského prohlížeče -- plnohodnotný programovací jazyk vyšší úrovně (jako např. Pascal, C++, atp.) vyvinutý speciálně pro Internet. Dnes již takový nástroj máme -- jmenuje se Java.

Java je jazyk nový, nezatížený kompatibilitou a konstrukcemi z minulých verzí. Je uzpůsoben jen a jen k tomu, k čemu se bude používat a disponuje všemi potřebnými funkcemi pro práci se sítí a grafikou. Jeho další výhoda spočívá v kódu, který používá jakési virtuální prostředky, je tedy platformně zcela nezávislý a aplikace napsané v Javě budou stejně dobře chodit pod OS/2, Windows, MacOS, nebo UNIXem. Všechny jeho požadavky mu totiž dává emulátor prostřednictvím systému nebo webovského prohlížeče. Díky čemuž jsou také i složité aplikace velmi malé, neboť všechny původní rutiny pro práci se všemi prostředky máte na vlastním počítači.

Java je jednoduchá na pochopení, kód je čistě objektový a multithreadní.

O čem programování v Javě vlastně je

Tento článek vás naučí programovat v Javě jednoduché aplikace v podobě skákajícího textu na obrazovce. Časem se dostanete i k aplikacím složitějším, jako jsou různé hry, programy pro práci s dokumenty a síťovými službami. Budete tedy moci oživit vaše stránky zajímavými aplety, nebo třeba na Javě vybudovat kompletní nabídku s ceníkem pro vaše obchodní partnery.

Co budete potřebovat

Základy rogramování v Javě se naučíte prostřednictvím Java Developers Kit (JDK), který vytvořila softwarová divize firmy Sun. Tento nástroj je k dispozici pro většinu 32bitových operačních systémů s podporou dlouhých jmen souborů (například na adrese http://www.javasoft.com). Získáte jej ale také jako nedílnou součást Internetem prolezlého operačního systému OS/2 4.0 Warp.

Ukázky, uváděné v tomto článku, budou z již zmíněné Óesdvojky, neboť její podpora Javy, vestavěná do 32bitového jádra, je velmi rychlá a je zde k dispozici mnoho pomocných aplikací. Všechny uvedené informace se však budou týkat všech prostředí bez rozdílu, jen tam, kde názvy obslužných programů mohou být jiné, vás upozorníme. Pokud tedy nemáte OS/2, stačí vám si zvolit vhodný textový editor, který nezanechává v dokumentu formátovací informace (například plně postačující je Poznámkový blok -- Notepad) a k ruce si připravte příkazovou řádku nebo okno se zkratkami na vyvolání kompilace. Potom potřebujete již jen prohlížeč Java-appletů. Tím může být například Netscape Navigator.

Směle vpřed

Programy (applety) Javy budete psát jako běžný textový soubor s příponou "java" (například: "mujpriklad.java"). Poté jej musíte překompilovat do podoby srozumitelné systému. Tento binární kód má příponu class (mujpriklad.class). Kompilaci spustíte příkazem "javac mujpriklad.java".

Abyste si mohli výsledek vaší práce prohlédnout, musíte vytvořit odkaz na váš dokument ve webovském dokumentu. Vytvořte tedy (opět můžete například v Notepadu) soubor "mujpriklad.html" a do něj napište následující řádky:

<HTML>
<HEAD>
<title>Můj příklad v Javě</title>
</HEAD>
<BODY>
<APPLET CODE="mujpriklad.class" WIDTH="320" HEIGHT="120" ALIGN="center">
<PARAM NAME="rows" VALUE="4">
Bohužel nemáte <b>Java kompatibilní</b> prohlížeč, nevíte o co přicházíte.
</applet>
</BODY>
</HTML>

Na první pohled je to složité, ale vysvětlíme si to podrobněji (základy HTML se zde zabývat nebudeme, neboť je možné se o nich dočít jidne, např. i zde v Computerworldu). Applety se na stránku umísťují párovým příkazem "Applet", který má následující definici:

<APPLET CODEBASE="URL aplikace" CODE="jméno.class" ALT="alternativní text" NAME="symb. jménoapletu" WIDTH="šířka" HEIGHT="výška" ALIGN="zarovnání" VSPACE="svislá mezera" HSPACE="vod. mezera">

</APPLET>

Povinné jsou pouze parametry CODE, WIDTH a HEIGHT, přičemž poslední dva jsou zde jen proto, aby prohlížeč před začátkem stahování věděl, jaký prostor má vyhradit. V samotné aplikaci je možné velikost vyhrazeného prostoru změnit.

Před ukončovací příkaz </APPLET> můžete ještě zapsat parametry, které předáváte vaší aplikaci z webovského dokumentu. Parametrů může být libovolně mnoho a mají následující definici:

<PARAM NAME="název_parametru" VALUE="hodnota">

Tedy pokud chcete například předat aplikaci text, který má skákat na stránce, může parametr vypadat takto:

<PARAM NAME="text" VALUE="Muj text">

Jakýkoliv další zdrojový HTML text, umístěný před ukončovací příkaz, bude zobrazen pouze prohlížeči, které nepodporují Javu, můžete jej tedy s výhodou použít pro upozornění, že prohlížeč vyžaduje Javu:

Bohužel nemáte <b>Java kompatibilní</b> prohlížeč, nevíte o co přicházíte.

Na závěr našeho sezení

-- Díky knihovnám nemusíte umět programovat, abyste vytvořili běžící text či animaci, můžete snadno použít jiné aplikace a dokonce je i rozložit do zdrojového textu.

-- Na každý projekt si vytvořte samostatný adresář a pečlivě si dokumentujte všechny funkce.

-- Java je objektová, snažte se tedy vytvářet co nejobecnější objekty, od kterých následně budete odvozovat. Ty umístíte do knihoven, ať je můžete využít vícekrát.

-- Nevytvářejte zbytečné funkce do samotného souboru, pro testování použijte jednu testovací aplikaci -- nezapomeňte, že applety se stahují obvykle po modemu.

-- Archivujte si nejen různé verze zdrojového textu, ale také přeloženou třídu. Dávejte si pozor na psaní názvů metod a proměných ve zdrojovém textu. Překladač rozlišuje malá a velká písmena a pokud tedy napíšete fillrect namísto fillRect, vyšle chybovou hlášku. Může vám to sice zpočátku dělat menší problémy, ale vězte, že jste-li k tomu donuceni, bude váš text od začátku vypadat lépe.

-- Vše si důkladně zkoušejte, jen tak se tento jazyk můžete rychle naučit -- je totiž složitý na zvládnutí všech funkcí.

Ve vloženém textu máte výpis první jednoduché aplikace napsané v Javě, která napíše do výstupu nápis "Budiž pozdraven Computerworld". Na aplikaci si vyzkoušejte propojení s vaší HTML stránkou a také práci s kompilátorem.

HTML stránka pro aplet
<HTML>
<HEAD>
<title>Můj příklad v Javě</title>
</HEAD>
<BODY>
<APPLET CODE="mujpriklad.class" WIDTH="320" HEIGHT="120" ALIGN="center">
<PARAM NAME="rows" VALUE="4">
Bohužel nemáte <b>Java kompatibilní</b> prohlížeč, nevíte o co přicházíte.
</applet>
</BODY>
</HTML>

Výpis zdrojového textu mujpriklad.java
import java.applet.*;
import java.awt.*;
public class mujpriklad extends java.applet.Applet
{ public void paint(Graphics Grafika)
{
Grafika.drawString("Budiž pozdraven Computerworld", 10, 10);
}
}


| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage |