Programiranje

Prvi pogled na Borlandov JBuilder IDE

Junija 1995, ko sem prvič slišal, da bo Borland izdeloval orodje Java, sem bil zelo zadovoljen. Borland je bilo edino podjetje, ki je vdrlo v franšizo Visual Basic, ki jo je ustvaril Microsoft. Nadalje mnogi menijo, da je Borlandovo razvojno okolje Delphi (vključno z mano) najboljše orodje za hiter razvoj aplikacij (RAD) na trgu. Tako sem z velikim navdušenjem pozno leta '95 kupil Borland C ++ 5.0 s podporo za Javo.

Napor Borlanda je pustil veliko želenega. Ena največjih pomanjkljivosti izdelka je bila ta, da je bila podpora za Java dodaten modul za C ++ in ne samostojno orodje. Težava tega pristopa je v tem, da Java glede enot prevajanja, predmetnih datotek in ciljev prevajanja ni bila tako podobna C ++. V Javi datoteko razreda prevedete v objekt, ki ga lahko takoj ustvarite z drugimi predmeti, ki so že v sistemu. Ni ciljev ".exe" in ".dll", ki sta model, ki ga uporablja generični IDE C ++. Tako so bili razredi gradnje okorni, dokumentacije skorajda ni bilo, izkušnje pa popolnoma nezadovoljive. Prevajalnik C ++ pa je deloval odlično.

Na petih dodatka C ++ se je hitro pojavila beseda o "Latteju", kodnem imenu za okolje IDE, na katerem bodo delali inženirji iz skupine Delphi in je bilo v celoti napisano na Javi. Ambiciozen projekt so začele zamude; predstavljen je bil na prvi konferenci razvijalcev JavaOne v San Franciscu leta 1996 in nato spet na JavaOne '97. Končno je izšel kot JBuilder.

Kratek ogled JBuilderja

JBuilder deli veliko skupnih tem s svetom Delphi in se počuti dovolj podobnega orodjem Symantec Visual Cafe. Tako sem se enostavno lotil JBuilderja - tudi brez branja priložene dokumentacije. (Ko jaz naredil Če imate vprašanje, je bila dokumentacija dokaj popolna v smislu opisa razpoložljivih možnosti.)

Okolje je sestavljeno iz "nadzorne vrstice", ki je plavajoče okno orodne vrstice, "brskalnega okna" z večplastnim drevesnim nadzorom na levi in ​​razglednega okna na desni. Kontrolna vrstica je samo ena, lahko pa je odprtih več oken brskalnika.

Nadzorna vrstica, prikazana spodaj, je sestavljena iz standardnih menijskih ukazov na vrhu, palete orodij na levi, ki ponujajo bližnjice do elementov menija, in zbirke komponent (JavaBeans), ki so na voljo za uporabo v vaši vizualni aplikaciji ali aplet. Pod paleto orodij in komponentami je vrstica stanja, ki se posodobi glede na trenutno dejavnost.

Okno brskalnika je prikazano spodaj. V tem oknu lahko komunicirate s svojo izvorno kodo, bodisi HTML ali Java. Nad tem je nadzorna vrstica, ki vam omogoča začetek dejanj (na primer obnova) in hrani vaše zbirke JavaBeans za uporabo v vaših aplikacijah. Poleg tega lahko vsako okno brskalnika prikaže projekt, ki se v njem dogaja, tako da, če delate na več projektih - na primer na novem JavaBeanu in aplikaciji, ki ga uporablja - imate lahko oba projekta odprta naenkrat in se enostavno premikate med njima . Ta zmožnost me je navdušila, saj podpira najpogostejši razvoj Java, ki spreminja več različnih kosov hkrati. V enem oknu brskalnika je lahko projekt razredov pripomočkov, v drugem brskalniku programček, ki uporablja te razrede, v tretjem pa nabor strani HTML, ki uporabljajo programček.

Okno brskalnika je razdeljeno navpično - s prikazom drevesa datotek na levi in ​​pregledovalnikom na desni. Navpični razkol se imenuje "zavesa". Borlandov uporabniški vmesnik vam omogoča, da odstranite zaveso, če želite celozaslonski pogled izvorne kode, s katero delate. Pod vsako polovico okna brskalnika so nadzorni zavihki, ki spreminjajo semantiko pogleda.

Pri ogledu izvorne kode Java so zavihki na polovici pregledovalnika označeni kot izvor, zasnova in dokument.

  • Zavihek izvor preprosto prikaže izvorno kodo in jo lahko uredite z vključenim urejevalnikom za poudarjanje sintakse.

  • Zavihek za načrtovanje prikazuje vizualni delovni prostor, kjer obstajajo kakršne koli informacije o uporabniškem vmesniku, ki ste jih določili. Če je na primer vaša izvorna koda imela definicije plošč, gumbe itd., Je ta plošča območje povleci in spusti, kjer lahko sestavite te informacije.

  • Zavihek doc prikazuje dokument HTML, ki je ustvarjen iz ugnezdenih komentarjev v izvorni kodi. Dokument HTML je mogoče izvleči z uporabo JavaDoc, vendar ne morem najti avtomatiziranega načina za ustvarjanje tega dokumenta.

Morda je eden najbolj pametnih vidikov implementacije brskalnika ta, da med brskanjem po datoteki razreda brskalnik prebere datoteko razreda in jo razstavi toliko, da vam pokaže strukturo izvorne kode. To je lahko zelo koristno, če ste vajeni branja virov, namesto da bi gledali objektni diagram. Nadalje, ko izberete katerega koli standardnega razreda Java ali razreda Borland po meri, s klikom na zavihek doc vrnete stran JavaDoc za ta razred. To vam omogoča, da: na primer označite sistemski razred, izberete »brskanje po izbranem simbolu« in si ogledate obnovljeni vir ali dokumentacijo za razred. Raje imam to metodo, ki ohranja oblikovanje HTML, ki je vdelano v podatke JavaDoc, kot sisteme, ki pretvorijo dokumentacijo Java v Microsoftove datoteke "pomoči".

Razhroščevalnik JBuilder

Pisanje kode je seveda enostavno. To je težko, da deluje. Morda je najpomembnejša značilnost katerega koli IDE-ja njegov razhroščevalec. Na srečo razhroščevalec Borland JBuilder ne razočara. Posnetek zaslona razhroščevalnika je prikazan spodaj.

Med odpravljanjem napak je okno brskalnika prekonfigurirano tako, da podpira pregled stanja vašega predavanja. Pogled drevesne strukturirane datoteke je razdeljen na zgornje okno, ki vsebuje stanje niti, in spodnje okno, ki vsebuje informacije o aktivnih spremenljivkah. Tudi leva polovica brskalnika dobi nekaj dodatnih kontrolnikov zavihkov na dnu, ki nadzorujejo delovanje razhroščevalnika.

Poleg tega bodo pojavna okna prikazala vrednost spremenljivke v izvornem oknu na približno enak način, kot deluje razhroščevalec Symantec. Prisotne so vse standardne funkcije za odpravljanje napak: en korak, nadzorne točke, prekinitvene točke, pogojne prekinitvene točke itd. Omeniti velja podporo niti, ki je izjemna. V oknu niti v zgornjem levem kotu lahko kliknete trenutno izvršljivo vrstico katerega koli kosa kode v kateri koli niti in izvorno okno se odpre na to mesto v kodi. Poleg tega bo v spodnjem levem oknu prikazano katero koli lokalno in globalno stanje, ki je vidno tej niti. Razhroščevalec JBuilder zagotovo predstavlja nov standard, na podlagi katerega bodo merili druge razhroščevalnike Java.

Na levi strani izvornega okna majhne pike označujejo črte, kamor je mogoče namestiti mejne točke. S klikom na piko se označi črta in pojavi se simbol točke preloma. Druga uporabna funkcija je "zaženi na kurzor" - za tiste trenutke, ko ne želite narediti niti enega koraka skozi vsako ponovitev a za zanko. Preprosto kliknite vrstico, izberite "zaženi na kurzor" in izvedba se ustavi tam.

Rokovanje z izhodom

Končno področje, v katerem se mi je zdel JBuilder še posebej koristen, je obdelava izhodnih rezultatov izvajanja aplikacije Java. Dnevnik izvajanja je okno, ki vsebuje vse podatke, poslane v System.out od trenutnega poteka. Ko pa je odprtih več projektov, dnevnik izvajanja vodi ločene zavihke za vsak projekt! Primer tega je prikazan spodaj.

Kot lahko vidite na sliki, sta dva zavihka, eden za "primer" in drugi za "BASIC", trenutni projekt. To ločevanje je bistvenega pomena pri gradnji več knjižnic razredov hkrati, saj preprečuje mešanje izhodnih rezultatov obeh projektov.

Kaj mi je všeč pri JBuilderju

Včasih so to malenkosti. jaz res tako lahko na barvni tiskalnik natisnete izvorno kodo Java in jo izberete s poudarjenimi pisavami in sintakso. Če bi lahko prilagodil glave in noge strani in določil izhod "dvakrat" (dve strani izvorne kode, natisnjeni ob strani na ležeči izhodni strani), bi bilo popolno.

Podpora za Javo 1.1 je zelo lepa. Medtem ko JDK 1.1 že nekaj časa ni na voljo, Symantec pa ima beta podporo za 1.1, ni nič drugega kot IDE, ki je zasnovan od začetka za delo z 1.1.

Kot sem že omenil, je razhroščevalnik tudi zelo prijeten: daje veliko informacij na lahko razumljiv način. Velik del odpravljanja napak je v slogu »pokaži in ustreli«, kar je nekaterim uporabnikom všeč (meni), drugim pa ne (verjamejo, da »gdb« pomeni Božji DeBugger). Verjamem, da zadostuje, da najdemo tudi najtežje napake v mrtvi točki.

Kar mi pri JBuilderju ni všeč

Nastavljivega IDE JBuilderja pravzaprav ni mogoče konfigurirati na dva ključna načina:

  • Prvič, na zaslonu ne morete nastaviti privzetih barv ozadja in ospredja. Namesto tega jih morate najprej nastaviti za celotno namizje, nato pa bo JBuilder opazil spremembe. Lahko pa jih nastavite z uporabo nekaterih njihovih "konzerviranih" barvnih shem.

  • Druga resna napaka je, da pritiskov na urejevalnik ne morete prilagoditi. Moja dva najljubša urednika v zvezi s tem sta EMACS in urejevalnik datotek programerja (PFE). Zavihek za prilagajanje urejevalnika JBuilder je sestavljen iz tega, da lahko izberete nekaj predpakiranih preslikav ključev - vključeni so privzeti, Brief, Classic in Epsilon - in da lahko izberete, kako delujejo stvari, kot so samodejno zamikanje, poudarjanje in zavijanje. Še vedno iščem urejevalnik, ki vam omogoča definiranje paketov makrov v Javi.

Na področju predstavitve JBuilder trpi zaradi nekaterih preprostih napak, za katere pričakujem, da bodo odpravljene v prvi izdaji popravkov ali tako. Če je na vašem namizju na primer izbrana možnost »Large Fonts« (kar Microsoft vztraja, da pomeni, da vzamete Arial 10 in ga »pomnožite« s kakšnim faktorjem), se izračun, koliko prostora potrebujejo v orodni vrstici, zlomi in ikone knjižnic komponent so izrezane izključeno. Če na drugi strani nastavite videz pisave izrecno v razdelku »Videz« lastnosti vašega namizja, na primer 14-točkovni Arial, je vrstica komponent pravilno upodobljena. Jasno je, da gre za Microsoftovo bogočastnost (kjer pisava 10pt ni vedno upodobljena kot pisava 10pt), toda ljudje iz Borlanda se morajo s tem spoprijeti.

Drugo področje, ki mi ni všeč pri vseh IDE-jih za Javo, je zanašanje na njihov lasten "prilagojeni" virtualni stroj Java za razvoj. Upam, da bodo IDE v prihodnosti uporabni s standardnim Java Runtime Environment (JRE) in nekaj knjižnicami po meri. Tega še nihče ni naredil prav.

Kar bi si želel

Seveda noben izdelek ni primeren za vse, zato bi to, kar bi rad videl, morda veljalo za hrup drugih. Toda v duhu nastopanja so to tri glavne stvari, ki bi jih rad videl v JBuilderju (ali kateri koli trdni IDE glede tega):

  • Finer nadzor konfiguracije IDE - preslikave ključev, barve zaslona in postavitev

  • Podpora profiliranju v razhroščevalniku - sledenje / časovni klici, uporaba kopice, zemljevidi smeti itd

  • Nadzor izvorne kode - to je področje, kjer je Java šibka (nadzor različic), pametni nadzorni sistem, ki bi ugotovil, kdaj se je pogodba spremenila (nezdružljive spremembe razreda) in kaj se je spremenilo kdaj, pa bi bil prava poslastica

Zavijanje

Orodje JBuilder je zelo sposoben vstop na vedno bolj obljudeno tržnico IDE. Ponekod ponuja izjemne zmogljivosti - na primer JavaBeans, odpravljanje napak, več projektov in oblikovanje uporabniškega vmesnika. Ta izdaja JBuilder ima nekaj grobih robov okoli predstavitve in prilagodljivosti IDE, vendar je to pričakovati v izdaji 1.0. Njegova podpora za Java 1.1 je prav tako vrhunska. Menim, da imajo fantje in fantje pri Symantecu prvič resno konkurenco za svoj izdelek Visual Cafe Pro.

Chuck McManis je trenutno direktor sistemske programske opreme v podjetju FreeGate Corp., podjetju, ki ga financira podjetje, ki raziskuje priložnosti na internetnem trgu. Preden se je Chuck pridružil FreeGate, je bil član skupine Java. Skupini Java se je pridružil takoj po ustanovitvi FirstPerson Inc. in bil član prenosne skupine OS (skupine, odgovorne za OS del Jave). Kasneje, ko je bil FirstPerson razpuščen, je ostal v skupini z razvojem alfa in beta različic platforme Java. Prvo internetno stran »vse Java« je ustvaril na internetu, ko je maja 1995 načrtoval Java različico domače strani Sun. Razvil je tudi kriptografsko knjižnico za Javo in različice nalagalnika razreda Java, ki bi lahko prikazoval razrede na podlagi digitalnih podpisov. Preden se je pridružil FirstPersonu, je Chuck delal na področju operacijskih sistemov SunSoft in razvijal omrežne aplikacije, kjer je prvotno zasnoval NIS +. Oglejte si njegovo domačo stran.
$config[zx-auto] not found$config[zx-overlay] not found