Apache Tapestry Open source framework aplikasi web berbasis bahasa pemrograman Java
Tapestry adalah framework aplikasi web berbasis komponen untuk Java. Ini mengikuti prinsip konvensi atas konfigurasi, menekankan reusability, dan dirancang untuk menyederhanakan pengembangan aplikasi web. Berikut adalah aspek kunci dari framework Tapestry:
1. Component-Oriented Architecture:Reusable Components: Aplikasi tapestry dibangun menggunakan komponen, yang merupakan modul, unit kode yang dapat digunakan kembali. Komponen menggabungkan perilaku dan presentasi, mempromosikan pemisahan yang bersih dari kekhawatiran.
2. Convention over Configuration:
Automatic Binding: Tapestry menggunakan konvensi untuk secara otomatis mengikat komponen ke kelas dan template Java yang sesuai, mengurangi kebutuhan untuk konfigurasi eksplisit.
Sensible Defaults: Tapestry menyediakan default yang masuk akal untuk banyak aspek pengembangan aplikasi, mengurangi kebutuhan untuk kode boilerplate.
3. Java Annotations:
Annotation-Driven Development: Tapestry sangat bergantung pada anotasi Java untuk konfigurasi. Anotasi digunakan untuk mendefinisikan sifat komponen, pengelola acara, dan aspek lain dari aplikasi.
4. Inversion of Control (IoC):
Dependency Injection: Tapestry menggunakan wadah IoC untuk melakukan dependency injection, membuatnya mudah untuk mengelola ketergantungan antara komponen dan layanan.
Komponen dan layanan terdaftar dalam registri layanan, memungkinkan mereka untuk mudah ditemukan dan disuntikkan.
5. Page and Component Templates:
Template HTML: halaman dan komponen wallpaper didefinisikan menggunakan template HTML, membuatnya mudah bagi pengembang untuk memanfaatkan pengetahuan mereka tentang HTML dan CSS untuk lapisan presentasi.
Dynamic Binding: Templat wallpaper mendukung pengikat data, peristiwa, dan komponen secara dinamis melalui ekspresi dan parameter komponen.
6. Event-Driven Programming:
Event Handling: Tapestry memfasilitasi pemrograman berbasis acara dengan memungkinkan komponen untuk menerbitkan dan berlangganan acara. Ini mempromosikan penghubung yang longgar antara komponen.
7. Built-In Services:
Fungsi umum: Tapestry menyediakan serangkaian layanan built-in untuk fungsi umum, seperti lokalisasi, validasi, dan persistensi.
Extensibility: Pengembang dapat memperluas Tapestry dengan membuat layanan kustom untuk memenuhi persyaratan aplikasi tertentu.
8. Automatic Form Handling:
Form Components: Tapestry menyederhanakan pengolahan formulir dengan menyediakan komponen formulir yang secara otomatis menangani validasi, pesan kesalahan, dan pengikat data.
9. Internationalization (i18n) Support:
Message Catalogs: Tapestry mendukung katalog pesan untuk kemudahan internasionalisasi aplikasi, memungkinkan pembuatan situs web multilingual.
10. Security:
Secure by Default: Tapestry menggabungkan praktik terbaik keamanan secara default, membantu pengembang membangun aplikasi web yang aman.
Integrasi dengan Mekanisme Keamanan: Tapestry dapat diintegrasikan dengan mekanisme otentikasi dan otorisasi untuk kontrol akses yang aman.
11. Mature Ecosystem:
Komunitas Aktif: Tapestry memiliki komunitas yang aktif dan mendukung yang menyediakan sumber daya, dokumentasi, dan ekstensi untuk meningkatkan pengembangan.
12. Tooling:
Integrasi IDE: Tapestry memiliki integrasi dengan Java IDE populer, menyediakan fitur seperti penyelesaian kode, navigasi, dan dukungan debugging.
Tapestry dikenal karena kesederhanaan, produktivitas, dan kemampuan untuk membangun aplikasi web yang dapat diperluas dan dapat dipelihara. Ini terus berkembang dengan pembaruan dan perbaikan, menjadikannya pilihan yang berharga bagi pengembang Java yang bekerja pada aplikasi web.
Tapestry kompatibel dengan berbagai server aplikasi, versi Java, dan pustaka open source. Namun, tidak semua kombinasi diketahui bekerja.
Catatan: Ruang kosong di tabel matriks dukungan di bawah ini tidak menunjukkan ketidakkompatibilitas. Ini hanyalah kekurangan dokumentasi.
Jika Anda tahu tentang kompatibilitas atau ketidak-kompatibilitas lain yang diketahui, silakan tambahkan komentar di bagian bawah halaman ini, atau pada daftar penerima surat Pengguna.
Java & Servlet API Versions
Tapestry Version → | 5.8.1 | 5.7 | 5.6 | 5.5 | 5.4 | 5.3.8 | 5.3.0 - 5.3.7 | 5.2 | 5.1 | 5.0.10 | 5.0.8 | 5.0 | 4.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Java JRE | 8-17 | 8-14 | 8-14 | 8-12 | 7, 81 | 6 - 81,2 | 6, 7 | 5, 6 | 5, 6 | 5, 6 | 5, 6 | 5, 6 | 1.4, 5, 6 |
Servlet API | 3.0+ | 3.0+ | 3.0+ | 3.0+ | 2.5+ | 2.5+ | 2.5+ | 2.4+3 | 2.4+3 | 2.4+3 | 2.4+3 | 2.4+3 | 2.2-2.3 |
1 Java 9 atau lebih tinggi memerlukan Tapestry 5.5.0 atau lebih baru. Baca juga: TAP5-2588
2 Untuk menggunakan Tapestry 5.3.8 dengan Java 8, lihat Catatan Rilis 5.3.8.
3 Servlet API 2.5 membutuhkan JDK 1.5+
App Servers
Tapestry Version → | 5.5+ | 5.4 | 5.3.8 | 5.3.0 - 5.3.7 | 5.2 | 5.1 | 5.0.10 | 5.0.8 | 5.0 | 4.1 |
---|---|---|---|---|---|---|---|---|---|---|
Apache Tomcat | 6+ | 6+ | ||||||||
Jetty | 9 | 7-9 | 6-9 | 6-8 | 6-8 | 6-8 | 6-8 | 6-8 | 6-8 | 6-7 |
Glassfish | 2.1 | |||||||||
Apache TomEE | ||||||||||
JBoss EAP | 4.2.3 | 4+ | ||||||||
Wildfly/JBoss AS | ||||||||||
Heroku | ||||||||||
Google App Engine | + |
Libraries
Ini adalah versi library yang dikenal untuk bekerja (and, in some cases, bundled with Tapestry). Kecuali dinyatakan lain, versi yang berdekatan akan sering bekerja dengan baik juga.
Java 9+ Dependency Deprecations
Dengan pengenalan sistem modul Java di versi 9, berbagai ketergantungan Java EE dinyatakan hilang, dan dihapus sepenuhnya di versi 11.
Hal ini dapat menyebabkan java.lang.NoClassDefFoundError
exceptions for javax
-package classes,seperti hilang javax.xml.bind.JAXBException
for tapstry-hibernate
.
Sampai semua pustaka dan kerangka kerja terkait menambahkan ketergantungan yang sekarang hilang secara eksplisit, Anda mungkin harus menambahkan kembali mereka sendiri, jika tidak ada kecanduan lain yang menarik mereka ke dalam proyek Anda.
kunjungi link berikut : https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception and https://crunchify.com/java-11-and-javax-xml-bind-jaxbcontext/ untuk informasi lebih lanjut tentang deprecation dan penghapusan ketergantungan Java EE, dan cara memperbaikinya.
Comments
Post a Comment