Pandangan pertama di Borland's JBuilder IDE

Pada bulan Jun 1995, ketika saya pertama kali mendengar bahawa Borland akan membuat alat Java, saya cukup senang. Borland adalah satu-satunya syarikat yang meletakkan celah dalam francais Visual Basic yang telah dibuat oleh Microsoft. Selanjutnya, persekitaran pengembangan Delphi Borland dianggap oleh banyak orang (termasuk saya) sebagai alat pengembangan aplikasi cepat (RAD) terbaik di pasaran. Oleh itu, dengan kegembiraan saya membeli Borland C ++ 5.0 dengan sokongan Java pada akhir '95.

Malangnya, usaha Borland meninggalkan banyak yang diinginkan. Salah satu kelemahan terbesar produk adalah bahawa sokongan Java adalah modul tambahan untuk C ++, dan bukan alatnya sendiri. Masalah dengan pendekatan ini adalah bahawa Java tidak seperti C ++ dari segi unit penyusunannya, fail objek, dan sasaran penyusunan. Di Java anda menyusun file kelas menjadi objek yang dapat anda instanti dengan objek lain yang sudah ada di sistem. Tidak ada sasaran ".exe" dan ".dll", yang merupakan model yang digunakan oleh C ++ IDE generik. Oleh itu, kelas bangunan tidak membebankan, dokumentasi hampir tidak ada, dan pengalaman itu sama sekali tidak memuaskan. Penyusun C ++ berfungsi dengan baik.

Di tumit produk tambahan C ++, kata dengan cepat keluar mengenai "Latte," nama kod untuk persekitaran IDE yang akan diusahakan oleh jurutera dari kumpulan Delphi dan itu ditulis sepenuhnya di Jawa. Projek yang bercita-cita tinggi itu dilanda kelewatan; ia menunjukkan pada Persidangan Pembangun JavaOne pertama di San Francisco pada tahun 1996 dan sekali lagi di JavaOne '97. Akhirnya, ia telah dikeluarkan sebagai JBuilder.

Lawatan cepat JBuilder

JBuilder berkongsi banyak tema umum dengan dunia Delphi dan terasa cukup serupa dengan alat Symantec Visual Cafe. Oleh itu, mudah untuk saya menggunakan JBuilder - walaupun tanpa membaca dokumentasi yang disediakan. (Apabila saya lakukan mempunyai satu soalan, dokumentasi yang agak lengkap dari segi menerangkan pilihan yang tersedia.)

Lingkungan terdiri dari "bar kawalan," yang merupakan tetingkap bar alat terapung, "tetingkap melayari" dengan kawalan pohon berlapis di sebelah kiri, dan tetingkap pandangan di sebelah kanan. Hanya ada satu bar kawalan, tetapi beberapa tetingkap penyemak imbas boleh dibuka.

Bar kawalan, ditunjukkan di bawah, terdiri daripada perintah menu standard di bahagian atas, palet alat di sebelah kiri yang menyediakan jalan pintas ke item menu, dan koleksi komponen (JavaBeans) yang tersedia untuk digunakan dalam aplikasi visual anda atau applet. Di bawah palet alat dan komponen terdapat garis status yang dikemas kini dengan apa sahaja aktiviti yang berlaku pada masa sekarang.

Tetingkap penyemak imbas ditunjukkan di bawah. Tetingkap ini adalah tempat anda berinteraksi dengan kod sumber anda, baik HTML atau Java. Di atasnya adalah bar kawalan, yang memungkinkan anda memulakan tindakan (seperti membina semula) dan menyimpan koleksi JavaBeans untuk digunakan dalam aplikasi anda sendiri. Selanjutnya, setiap tetingkap penyemak imbas dapat memaparkan projek yang sedang berlangsung di dalamnya, jadi jika anda mengerjakan banyak projek - seperti JavaBean baru dan aplikasi yang menggunakannya - anda dapat membuka kedua-dua projek sekaligus dan dengan mudah berpindah di antara mereka . Keupayaan ini mengagumkan saya kerana menyokong pengembangan Java yang paling umum, mengubah beberapa kepingan yang berbeza sekaligus. Dalam satu tetingkap penyemak imbas boleh ada projek kelas utiliti, di penyemak imbas lain applet yang menggunakan kelas tersebut, dan di sepertiga sekumpulan halaman HTML yang menggunakan applet.

Tetingkap penyemak imbas dibahagi secara menegak - dengan paparan pokok fail di sebelah kiri dan penampil di sebelah kanan. Perpecahan menegak disebut "tirai." Antara muka pengguna Borland membolehkan anda melabuhkan tirai apabila anda mahukan paparan skrin penuh kod sumber yang sedang anda kerjakan. Di bawah setiap separuh tetingkap penyemak imbas terdapat tab kawalan yang mengubah semantik pandangan itu sendiri.

Semasa melihat kod sumber Java, tab pada penyemak imbas separuh penyemak imbas dilabel sumber, reka bentuk, dan dokumen.

  • Tab sumber hanya menunjukkan kepada anda kod sumber, dan anda boleh mengeditnya menggunakan editor penyorotan sintaks yang disertakan.

  • Tab reka bentuk menunjukkan ruang kerja visual di mana terdapat maklumat antara muka pengguna yang anda tetapkan. Jadi, sebagai contoh, jika kod sumber anda mempunyai definisi panel, butang dan sebagainya, panel ini adalah kawasan seret dan lepas di mana anda dapat menyusun maklumat tersebut.

  • Tab dokumen menunjukkan kepada anda dokumen HTML yang dihasilkan dari komen bersarang dalam kod sumber. Dokumen HTML dapat diekstrak menggunakan JavaDoc, namun, tidak ada cara otomatis yang dapat saya temukan untuk menghasilkan dokumen ini.

Mungkin salah satu aspek yang paling bijak dalam pelaksanaan penyemak imbas ialah semasa anda menyemak imbas fail kelas, penyemak imbas membaca dalam fail kelas dan menyusunnya cukup untuk menunjukkan struktur kod sumber. Ini sangat berguna jika anda terbiasa membaca sumber, dan bukannya melihat gambarajah objek. Selanjutnya, apabila anda memilih salah satu kelas standard Java atau kelas khusus Borland, mengklik pada tab doc akan mengembalikan halaman JavaDoc untuk kelas tersebut. Ini membolehkan anda melakukan perkara seperti: menyerlahkan kelas sistem, memilih "melihat simbol yang dipilih", dan melihat sumber yang dibina semula, atau dokumentasi untuk kelas tersebut. Saya lebih suka kaedah ini, yang mempertahankan pemformatan HTML yang disematkan dalam data JavaDoc, ke sistem yang mengubah dokumentasi Java menjadi file "help" Microsoft.

Penyahpepijat JBuilder

Sudah tentu, menulis kod itu mudah. Ia menjadikannya bekerja sukar. Mungkin ciri yang paling penting bagi IDE adalah penyahpepijatnya. Nasib baik, debugger Borland JBuilder tidak mengecewakan. Petikan skrin penyahpepijat ditunjukkan di bawah.

Semasa melakukan debug, tetingkap penyemak imbas dikonfigurasikan semula untuk menyokong melihat status kelas anda. Paparan fail berstruktur pohon dibahagikan kepada tetingkap atas yang mengandungi status utas dan tetingkap bawah yang mengandungi maklumat mengenai pemboleh ubah aktif. Juga, separuh kiri penyemak imbas memperoleh beberapa kawalan tab tambahan di bahagian bawah yang mengawal operasi penyahpepijat.

Selain itu, tetingkap pop timbul akan memaparkan nilai pemboleh ubah di tetingkap sumber dengan cara yang sama seperti debugger Symantec berfungsi. Semua ciri penyahpepijatan standard ada: satu langkah, titik menonton, titik putus, titik putus bersyarat, dan sebagainya. Yang penting ialah sokongan utas, yang luar biasa. Di tetingkap utas di sudut kiri atas, anda boleh mengklik pada baris yang sedang dijalankan pada sekeping kod dalam benang mana pun, dan tetingkap sumber akan muncul ke tempat itu dalam kod. Selanjutnya, tetingkap kiri bawah akan memaparkan keadaan tempatan dan global yang kelihatan oleh utas itu. Debugger JBuilder pasti mewakili standard baru yang akan diukur debugger Java yang lain.

Di sebelah kiri tetingkap sumber, titik-titik kecil menunjukkan garis di mana titik putus dapat dipasang. Mengklik titik menyoroti garis, dan simbol titik putus muncul. Ciri lain yang berguna ialah "lari ke kursor" - pada masa-masa ketika anda tidak mahu melangkah setiap leraian forgelung. Cukup klik pada baris, pilih "lari ke kursor," dan pelaksanaan berhenti di sana.

Mengendalikan output

Satu kawasan terakhir di mana saya mendapati JBuilder sangat berguna adalah pengendalian outputnya daripada menjalankan aplikasi Java. Log pelaksanaan adalah tetingkap yang mengandungi semua data yang dihantar System.outdari semasa berjalan. Namun, apabila banyak projek dibuka, log pelaksanaan mengekalkan tab berasingan untuk setiap projek! Contohnya ditunjukkan di bawah.

Seperti yang anda lihat dalam gambar terdapat dua tab, satu untuk "contoh" dan satu untuk "ASAS", projek semasa. Pemisahan ini sangat mustahak ketika membina perpustakaan kelas berganda pada masa yang sama kerana ia membuat anda tidak mencampuradukkan hasil dari kedua projek tersebut.

Apa yang saya suka mengenai JBuilder

Kadang-kadang ia adalah perkara-perkara kecil. Saya sangat suka orang itu dapat mencetak kod sumber Java ke pencetak warna dan memaparkannya dengan fon dan sintaksnya yang menonjol. Sekiranya saya dapat menyesuaikan header dan footer halaman dan menentukan output "dua-atas" (dua halaman kod sumber dicetak berdampingan pada halaman output lanskap), itu akan menjadi sempurna.

Sokongan untuk Java 1.1 sangat bagus. Walaupun JDK 1.1 telah keluar untuk sementara waktu, dan Symantec mempunyai sokongan beta untuk 1.1, tidak ada IDE yang dirancang dari awal hingga bekerja dengan 1.1.

Seperti yang saya nyatakan sebelumnya, debugger juga bagus: Ia memberikan sejumlah besar maklumat dengan cara yang mudah difahami. Sebilangan besar penyahpepijatan adalah gaya "point-and-shoot", yang disukai oleh beberapa pengguna (saya lakukan) dan ada yang tidak (mempercayai bahawa "gdb" adalah singkatan dari DeBugger Tuhan). Saya percaya bahawa cukup untuk mencari pepijat kebuntuan thread yang paling sukar.

Apa yang saya tidak suka mengenai JBuilder

IDE JBuilder yang dapat dikonfigurasi sebenarnya tidak dapat dikonfigurasi dalam dua cara penting:

  • Pertama, anda tidak dapat menetapkan warna latar dan latar depan lalai di paparan. Sebagai gantinya, anda mesti menetapkannya untuk seluruh desktop anda dan kemudian JBuilder akan melihat perubahannya. Namun, Anda dapat menetapkannya menggunakan beberapa skema warna "kalengan" mereka.

  • Kecacatan serius kedua ialah anda tidak dapat menyesuaikan ketukan kekunci editor. Dua editor kegemaran saya dalam hal ini ialah EMACS dan Editor Fail Pengaturcara (PFE). Tab penyesuaian editor JBuilder terdiri daripada dapat memilih beberapa pemetaan kunci yang sudah dikemas - default, Brief, Classic, dan Epsilon disertakan - dan dapat memilih bagaimana perkara seperti indentasi automatik, penyorotan, dan penyelesaian. Saya masih mencari editor yang membolehkan anda menentukan pakej makro di Java.

Dalam bidang persembahan, JBuilder mengalami beberapa pepijat sederhana yang saya harapkan akan diperbaiki pada pelepasan patch pertama atau lebih. Sebagai contoh, jika desktop anda telah memilih "Font Besar" (yang Microsoft tegaskan bermaksud mengambil Arial 10 dan "memperbanyaknya" dengan beberapa faktor), pengiraan berapa banyak ruang yang diperlukan oleh rehat bar alat dan ikon perpustakaan komponen dipotong mati. Sekiranya, di sisi lain, Anda menetapkan penampilan font secara eksplisit di bahagian "Penampilan" sifat desktop anda, seperti 14 titik Arial, maka bar komponen diberikan dengan betul. Jelas, ini adalah bogosity Microsoft (di mana fon 10pt tidak selalu dibuat sebagai fon 10pt), tetapi orang-orang di Borland perlu menghadapinya.

Satu lagi bidang yang saya tidak suka tentang semua IDE untuk Java adalah bergantung pada mesin virtual Java "custom" mereka sendiri untuk pembangunan. Saya berharap pada masa akan datang, IDE dapat digunakan dengan Java Runtime Environment (JRE) standard dan beberapa perpustakaan tersuai. Belum ada yang melakukan ini.

Apa yang saya mahukan

Sudah tentu, tidak ada produk yang sangat sesuai untuk semua orang, jadi apa yang saya ingin lihat boleh dianggap kebisingan bagi orang lain. Tetapi, dengan semangat untuk bersuara, ini adalah tiga perkara teratas yang ingin saya lihat di JBuilder (atau IDE kukuh)

  • Kawalan konfigurasi IDE yang lebih baik - pemetaan kunci, warna paparan dan susun atur

  • Sokongan profil dalam penyahpepijat - pelacakan / masa panggilan, penggunaan timbunan, peta sampah, dan sebagainya

  • Kawalan kod sumber - ini adalah daerah di mana Java lemah (kontrol versi), dan sistem kawalan pintar yang diperhatikan ketika kontrak berubah (perubahan kelas yang tidak sesuai) dan apa yang berubah kapan, akan menjadi rawatan yang nyata

Mengakhiri

Alat JBuilder adalah kemasukan yang sangat berkeupayaan ke pasar IDE yang semakin sesak. Ia memberikan kemampuan luar biasa di beberapa tempat - seperti JavaBeans, penyahpepijatan, pelbagai projek, dan reka bentuk antara muka pengguna. Pelepasan JBuilder ini mempunyai beberapa kelebihan sekitar persembahan dan konfigurasi IDE, namun ini diharapkan dalam rilis 1.0. Sokongan Java 1.1 juga unggul. Saya rasa, buat pertama kalinya, lelaki dan gali di Symantec mempunyai persaingan serius terhadap produk Visual Cafe Pro mereka.

Chuck McManis kini adalah pengarah perisian sistem di FreeGate Corp., sebuah syarikat permulaan yang dibiayai oleh usaha sama yang meneroka peluang di pasaran Internet. Sebelum menyertai FreeGate, Chuck adalah ahli Kumpulan Java. Dia bergabung dengan Java Group sejurus selepas pembentukan FirstPerson Inc. dan merupakan anggota kumpulan OS mudah alih (kumpulan yang bertanggungjawab untuk bahagian OS Java). Kemudian, ketika FirstPerson dibubarkan, dia tetap bersama kumpulan tersebut melalui pengembangan platform Java versi alfa dan beta. Dia membuat beranda "semua Java" pertama di Internet ketika dia melakukan pemrograman untuk halaman beranda Sun versi Java pada bulan Mei 1995. Dia juga mengembangkan perpustakaan kriptografi untuk Java dan versi pemuat kelas Java yang dapat menyaring kelas berdasarkan tandatangan digital. Sebelum menyertai FirstPerson,Chuck bekerja di kawasan sistem operasi SunSoft, mengembangkan aplikasi rangkaian, di mana dia melakukan rancangan awal NIS +. Lihat halaman rumahnya.