Scope dan Goal dari Swing Application Framework

Pendahuluan

Apakah teman-teman sudah pernah tahu tentang Swing Application Framework (bila disingkat menjadi SAF) yang merupakan implementasi dari JSR 296? Pada tulisan kali ini saya akan membahas sedikit tentang framework ini (baca SAF). Seminggu terakhir ini saya sedang mencoba untuk betul-betul memahami framework ini mulai dari scope, tujuan dari framework ini, apa saja yang dapat dilakukan framework ini, dan yang paling saya pahami mengenai framework ini adalah tersedianya infrastruktur (yang ditetapkan framework ini) untuk elemen-elemen tipikal yang ada dalam desktop application.

Scope dan Goal dari SAF

Tujuan utama dari framework ini adalah untuk memberi kemudahan bagi para programmer untuk memulai dengan cepat dan mengadopsi best practices untuk beberapa elemen yang umum pada setiap aplikasi dekstop (Swing-based dekstop application). Framework ini menyediakan inti (kernel) dari tipikal aplikasi Swing dengan menetapkan infrastruktur yang umum pada aplikasi desktop [1][2]:

  • Application lifecycle, khususnya startup dan shutdown.
  • mengelola dan memuat resource seperti string, formatted message, gambar, warna, huruf, dan tipe resource lainnya yang umum pada aplikasi desktop.

  • Menetapkan, mengelola, dan men-binding Action, termasuk Action yang berjalan asynchronously (in the “background”).

  • Persistent session state: menangani secara otomatis dan selektif dalam melakukan “saving the GUI state“, seperti top level window geometry, sejak aplikasi pertama kali berjalan dan saat aplikasi dijalankan pada waktu berikutnya. Contoh: Menyimpan informasi letak atau posisi dari window pada saat terakhir kali digunakan sehingga pada saat kita membuka aplikasi kembali tersebut akan berada pada posisi yang sebelumnya.

Dengan adanya Swing Application Framework, programmer terbantu untuk memulai dengan cepat dan mengadopsi best practices untuk beberapa elemen yang umum pada setiap aplikasi Swing, yaitu arsitektur, lifecycle, resource management, event handling, threading, session state, dan local storeage.

Penutup

Dengan adanya framework ini, tentu saja saya merasa terbantu sekali dalam membuat aplikasi desktop (untuk skala small-medium). Bila ada dari teman-teman yang membaca tulisan ini dan pernah menggunakan SAF ini silahkan beri komentar.

Enjoy it!

Referensi

  1. Using the Swing Application Framework (JSR 296) – http://java.sun.com/developer/technicalArticles/javase/swingappfr/
  2. An Introduction to the Swing Application Framework API (JSR-296) – https://appframework.dev.java.net/intro/index.html
  3. Swing Application Framework – https://appframework.dev.java.net/

7 thoughts on “Scope dan Goal dari Swing Application Framework

    • Swing != SAF, karena Swing merupakan component library sedangkan SAF adalah framework. Saya rasa tidak terlalu berbeda dari segi tujuan dari penggunaan dari keduanya yaitu untuk membuat aplikasi dekstop berbasis GUI, tetapi dalam segi kemudahan tentunya SAF menyediakan kelebihan dibanding Swing biasa. SAF is “a small set of Java classes that simplify building desktop applications”.

    • Yakin 🙂 Buktinya sampai saat ini NetBeans IDE masih pake framework itu untuk project Basic Desktop Application dan Database Applicationnya untuk Java. Kenapa nggak kita saja yang meneruskan? kayanya seru juga tuh 😀

Leave a comment