Specializovan² t²denφk o v²poΦetnφ technice o Internetu (CW 13/97) Zßklady programovßnφ v Jav∞Bed°ich Smetana
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> 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
V²pis zdrojovΘho textu mujpriklad.java
| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage | |