|
A Java (BeOS-es) története (2004. szeptember 10. - johnny)
Írta: Bryan Varner
Fordította: johnny
/* Elnézést minden nálam angolul jobban tudótól a durva fordításért. */
Nos, amíg a beunited.org megtiltotta, hogy beszéljek erről (valószínűleg már nem sokáig) a témáról, megpróbálom leírni a Java jelenlegi BeOS-es helyzetét. Sok pontatlan információt láttam elterjedni a közösségen belül és éreztem, hogy olyannak kellene szólnia, aki tényleg tisztában van a helyzettel. E jelenség általános a Haiku és a beunited.org esetében. Túl sok ember nem tud semmiről és azt gondolják, hogy mégis vagy szívesen spekulálnak, míg a dolgokat ténylegesen ismerők túlságosan elfoglaltak, hogy informálhassák az embereket.
Tuti, hogy neked is vannak pletykáid. Alkalomadtán jó elhinteni őket. De mikor nyílt hazugságokat látok elburjánzani a BeShare-en a kezdő felhasználók között, kik sosem találkoztak azelőtt a BeOS-szel, vitára hívom a sértegetőket. Ez morális kötelességem. Oké, talán nem a morális kötelességem, de ez a helyes dolog, ezt kell tennem. Mi állítólag segítőkészek vagyunk, nem félrevezetőek, beképzeltek és egoisták. Tehát minden további felhajtás nélkül itt van egy lista kérdésekkel és válaszokkal, amelyek általánosak a BeShare-en és más BeOS-témájú társalgásokban a Java-BeOS témában.
A BeOS-es Java története nagyon messzire nyúlik vissza. 1998. júliusában a jawaworld.com megjelentetett egy cikket a témában. A Sun Microsystems és a Be, Inc. bejelentette az együttműködést a J2SE BeOS-ra történő portolására. A híresztelések szerint a Metrowerks rendelkezett egy működő verzióval (sajnos csak a fele van meg - a ford.) és a BeIA (és a BeIA fejlesztői környezet) alatt egy PersonalJava (nagyon minimalista Java 1.2 + beépített nyalánkságok) implementáció működött. Ez egy BONE-nal felvértezett R5-ön futott és tudomásom szerint ezt árulja a yellowTAB a Zetával.
Létezik egy komplett Java VM BeOS-re, amit tudok használni?
Rövid válasz : nem.
Bővebb válasz : a BeKaffe-nak letölthető egy fejlesztői verziója. Azért van néhány dolog, amit tudnod kell róla :
1. Sosem ment át a Java kompatibilitási teszteken (ezért nem hitelesített Java implementáció).
2. Nem rendelkezik semmilyen GUI-val, amit használnál (Swing, SWT).
3. A BeOS port bugos mint a bűn (8DDD) és befejezetlen.
4. Régóta meghalt a fejlesztése BeOS-re.
Léteztek más, különböző mértékben működő implementációk is, de most nem találom a linkeket...
Mi van a pjava cuccal a BeIA-ban és az exp/dano-ban?
Ez egy PersonalJava implementáció. Valószínűleg nem egészen az, amire gondolsz. A PersonalJava a J2ME (Java2 Micro Edition) és a beépített / okos eszközök Java-specifikációjának elődje. Ez nem egy teljes J2SE környezet és nem egészen úgy viselkedik, ahogy egy J2SE implementációnak kellene. Ez többé-kevésbé egy Java 1.1.8 néhány "csavarral" és karcsúsított osztálykészlettel.
Mi a helyzet a beunited.org-gal? Nem portolják a Java-t?
A beunited.org a Sun J2SE 1.4.2 verzióját portolja. Ha elkészül, egy teljes értékű Java2 implemetáció lesz és a minősége megüti majd egy fizetős Java implementációét. Tehát megbízható, stabil, gyors, szolgálatkész.
A beunited.org port a J2SE 1.3 portjaként kezdődött, melyet Clay Atkins vezetett. Nézd meg a 2002. januárjában az openbeos levelezőlistára küldött hozzászólásomat. Még azelőtt történt, mielőtt a beunited.org magára vette a Java port keresztjét. Tényleg beszéltem telefonon Clay-jel. Sajnos szörnyen nagyot tévedett a port állapotával kapcsolatban - ezt lehetetlen volt bárki számára megállapítani a fordítási rendszer működése nélkül. Itt volt a csibe-tojás probléma: a Java fordítási rendszer a Java fordításához Javat használ.
A sok piszkálódás után, melyek a közösség egyes tagjai felől érkeztek (odáig mentek, hogy egyenesen megvalósíthatatlannak tartották az ötletet), a beunited.org lépéseket tett Java port folytatásért. Kapcsolatba lépett Clay-jel, aki felajánlotta a kódot, amelyet az általa vezetett csapat készített az 1.3 port számára. Így folytattuk, amit ők abbahagytak.
A javah és javac C++ helyettesítésével, a fordítási rendszer kigondolása és a fordításhoz szükséges dolgok létrehozása után a beunited.org elkezdhette a munkát a HotSpot virtuális gépen. A munka nagy része (beleértve a gazdarendszer (BeOS) absztrakciós rétegét) már kész volt a beunited.org-nak adott kódban. Miután a Sun megjelentette a Java 1.4.1 kódját, a két fejlesztés egyesült. Hivatalosan is a Java 1.4.1-en dolgoztunk.
Nem fogok részletesen beszélni a BeOS Java port jelenlegi állapotáról, de egyet mondhatok. A virtuális gép gyönyörűen fut. Néhány hónapja egészen stabil. A VM utolsó módosítása a 2004-es WalterCon-on történt. A kipróbált parancssoros alkalmazások hiba nélkül futnak. A VM megbízható, stabil. Jelenleg a maradék Java osztály portolásán dolgozunk. Ez tartalmazza az AWT-t, Java2D-t, a multimédiás részeket stb. ... tehát minden olyasmit, amivel hasznos dolgokat hozhatsz létre a felhasználók számára.
Létezik az AWT-nek egy "működő" váza és alap implementációja. A grafikus primitívek jelenleg nem működnek (folyamatban) és az eseményfigyelők nem képesek fogadni az eseményeket (folyamatban). Ez már a 3. AWT tervezet, amit csináltunk és valószínűleg átdolgozzuk / újratervezzük még egyszer, mielőtt késznek nyilvánítanánk. Egy nappal a WalterCon előtt sikerült egy Java programnak kirajzolni egy BWindow-ot (egy egyszerű ablakot - a ford.) a képernyőre a beunited.org Java implementációja segítségével. Mi, a beunited.org csapat tagjai, elfoglalt emberek vagyunk teli munkával és felelősséggel. Légy türelemmel, amíg befejezzük. Nem könnyű munka, gyakran nem is szórakoztató, de feltétlenül tanulságos és kifizetődő.
Itt látható néhány képernyőmentés a jelenlegi AWT-ről, amint Java programokat futtat BeOS-en. Figyeld meg, a layout managerek (a programok grafikus felületének komponenseit rendezik el - a ford.) működnek.
A BeOS BasicButton demojának Java implementációja Látod, milyen egyszerű? Egyetlen pici fájl ...
Segíthetek?
Talán ... lépj kapcsolatba a beunited.org fejlesztői kapcsolatokkal foglalkozó vezetőjével és csatlakozz!
Mi van az SWT-vel?
Nincs szükséged a beunited.org VM-jére az SWT portolásához. Nyomás, csináld meg, ha olyan okos vagy. Valójában, az SWT megtekintése után, a portolás tök egyszerűnek tűnik az AWT-hez képest. De sok szerencsét azokhoz az objektumokhoz, amelyek nincsenek a BeOS-ben. *khm* html megtekintés *khm* Az SWT nem része a hivatalos Java specifikációnak és mint ilyen nincs a beunited.org-os port látóterében. Lehetne egy érdekes oldalprojekt vagy kitűnő lehetne egy nagy jövőjű zseni diáknak a portolásra. Jó alapot adna a folytatásra és jó kapcsolatba hozhatna a népekkel az IBM-nél errr Eclipse.org
Mi van a Java3D-vel?
A Java3D nem része egy J2SE port alap specifikációjának. Habár nagyon hasznos. Nézd meg az SWT-nél. Ugyanaz érvényes itt is. Fontos megjegyeznem, hogy a Java3D-hez szükséges a Java2D, ami az AWT speci része. Amíg nem működik a Java2D, a kezed meg van kötve.
Ez egy natív port?
Naná, ezt biztosra veheted. BeOS rendszerhívásokat használunk és a BeAPI-t úgy elvertük a forráskódunkban, mint egy vörösfejű mostohagyereket.
Ha bármilyen kérdésed, hozzászólásod van, örömmel veszem és válaszolok rá. Ha nem tudok, akkor vagy kitörlöm (hahah!), vagy továbbitom olyannak, aki tud.
Köszönet a cikkért, Bryan!
Vissza a(z) Interjúk témakörhöz
|
|