Kapan menggunakan RCP?

9

Saya suka menulis aplikasi GUI kecil menggunakan Java dan Swing, sesuatu seperti klien untuk situs web sosial Tumblr

Haruskah saya menggunakan Eclipse RCP atau platform Netbeans?

Dan manfaat apa yang saya dapatkan dari menggunakan salah satu dari menggunakan ayunan polos / SWT?

Apakah aplikasi RCP membutuhkan lebih banyak dependensi daripada yang dikembangkan menggunakan Swing atau SWT?

Mahmoud Hossam
sumber

Jawaban:

6

Deckard mendapat respons yang cukup bagus. Saya ingin menambahkan bahwa ada baiknya mempertimbangkan bagaimana proyek ini akan dipertahankan. Pertimbangkan berapa banyak rekan kerja Anda (atau pengembang pada umumnya) yang akrab dengan Swing et al vs. berapa banyak yang akrab dengan RCP. Organisasi saya mengalami beberapa sakit kepala ketika kami ingin membersihkan aplikasi RCP lama. Ternyata sebagian besar orang yang terlibat dalam merancang proyek telah meninggalkan perusahaan atau pindah ke peran non-pembangunan. Keahlian kami di rumah lebih banyak di Swing, jadi ini membuat segalanya lebih sulit daripada yang seharusnya. Kami juga memiliki keinginan untuk mengintegrasikan bagian-bagiannya dengan aplikasi berbasis Swing yang terpisah, dan sekali lagi fakta bahwa aplikasi lama adalah aplikasi RCP membuat segalanya menjadi sulit.

Saya tidak mengatakan Anda tidak harus membuat aplikasi RCP, tetapi ini adalah beberapa hal yang mungkin ingin Anda pertimbangkan terlebih dahulu.

Michael McGowan
sumber
7

Pada dasarnya, ketika Anda menggunakan Swing, Anda harus mengatur semuanya secara manual: Anda menentukan Window, setiap area dan kontrol, di dalamnya Anda menentukan kembali setiap kontrol. Untuk setiap kontrol dan area yang Anda tetapkan penangan untuk menangani perubahan dan tindakan pengguna, dll. Anda perlu melakukan ini karena tidak ada yang akan berhasil kecuali jika Anda secara eksplisit mendefinisikan dan mengimplementasikannya.

RCP memungkinkan ini juga, tetapi dilengkapi dengan banyak komponen tingkat tinggi yang melakukan banyak hal umum. Misalnya, hanya beberapa langkah konfigurasi untuk menentukan antarmuka dokumen berganda (MDI) atau untuk menambahkan toolbar dengan ikon yang meluncurkan plug-in eksternal ketika Anda mengkliknya.

Karena RCP adalah kekuatan yang dimiliki Eclipse, blok-blok dasar cenderung berfokus pada aplikasi yang memiliki kebutuhan yang mirip dengan lingkungan pengembangan: pengeditan teks yang luas di semua jenis windows, menggunakan semua jenis menu yang sensitif konteks / toolbar / operasi / dll.

Jadi, jika Anda ingin membuat aplikasi khusus kecil dengan banyak hal yang tidak standar di dalamnya (seperti klien Twitter yang mencolok yang memiliki semua jenis kontrol yang dapat dibuat sendiri atau dikontrol), tidak ada gunanya menggunakan RCP. Bahkan, itu akan menyeret 5 + MB plug-in ke aplikasi Anda tanpa manfaat nyata.

Jika Anda ingin membuat aplikasi yang menampilkan halaman web, membutuhkan sistem bantuan yang luas, perlu melakukan pembaruan otomatis melalui internet dan fungsionalitas aplikasi desktop skala besar semacam itu, maka RCP akan sangat cocok.

Deckard
sumber
0

Saya seorang insinyur perangkat lunak Java profesional dengan keahlian hebat di Eclipse RCP & Netbeans Platform.

"Haruskah saya menggunakan Eclipse RCP atau platform Netbeans?"

Jawaban: Itu tergantung pada faktor-faktor berikut:

  • Keahlian Anda di Jawa.
  • Upaya yang diperlukan untuk mengimplementasikan sesuatu di kedua RCP.
  • Kejelasan dokumentasi masing-masing RCP.
  • Tampilan & nuansa yang ingin Anda berikan kepada pengguna akhir Anda.

Berikut adalah Pro & Kontra untuk masing-masing RCP ini sesuai dengan faktor yang saya sebutkan di atas:

Platform Netbeans:

Pro:

  • Kejelasan & organisasi dokumentasi ini SANGAT BAIK! Tetapi komunitas yang aktif kecil dibandingkan dengan komunitas pengembang Eclipse RCP.

Cons:

  • Membutuhkan keahlian yang hebat dalam bahasa Jawa.
  • Dibutuhkan lebih banyak kode untuk ditulis dibandingkan dengan Eclipse RCP untuk melakukan hal yang sama.
  • Tampilan & nuansa bukan asli. Platform Netbeans didasarkan pada Swing, sehingga Anda mendapatkan Java Swing Look & Feel yang sama di semua platform target!

Eclipse RCP:

Pro:

  • Membutuhkan pengetahuan Java yang baik dengan pengetahuan Injeksi Ketergantungan (dengan kata lain, tidak diperlukan hal-hal Kung Fu: P)!
  • Tampilan & nuansa yang dihasilkan jauh lebih asli daripada yang dimiliki Netbean. Itu karena Eclipse RCP didasarkan pada SWT. (Itu adalah tipuan bagi saya-hanya karena saya tidak senang dengan SWT, personaly)

Cons:

  • Kejelasan & pengaturan dokumentasi tidak begitu baik! Cons.

Preferensi pribadi saya adalah platform Netbeans hanya karena saya ingin memiliki kontrol penuh dari apa yang saya lakukan dengan kode saya, dan karena saya berpikir bahwa UI berbasis Swing jauh lebih stabil daripada SWT (saya dulu punya beberapa UI crash di IDE Eclipse saya saat saya sedang coding: P)!

"Apakah aplikasi RCP membutuhkan lebih banyak dependensi daripada yang dikembangkan menggunakan Swing atau SWT?"

Jawab: Ketergantungan itulah yang membuat 2 bayi ini bergulir. Kalau tidak, tidak perlu bagi mereka untuk disebut RCP. RCP adalah singkatan dari Rich Client Platform, yang berarti ekosistem (serangkaian besar API) yang membantu dalam membangun aplikasi "Kaya" dengan menyediakan sarana untuk melakukannya (melalui API). ;-). Dengan demikian, jawabannya di sini adalah "YA, JAUH LEBIH BANYAK DEPENDENSI"!

javase
sumber