Delphi 12.2 Memperkenalkan Webstencils, cara berbasis skrip untuk memproses teks yang mirip dengan teknologi Razor ASP.NET. Penggunaan utamanya adalah untuk menghasilkan HTML dinamis dari aplikasi server webbroker tetapi dapat digunakan dengan cara lain untuk menghasilkan XML, JSON, atau jenis output tekstual apa pun dari templat.
Repositori ini berisi beberapa aplikasi Webbroker Delphi 12.2 yang sangat sederhana (dijalankan sebagai program Windows VCL yang meluncurkan browser web) untuk membandingkan templat yang dibuat dengan tag gaya HTML yang digunakan dalam komponen TPageProducer yang baru, dengan komponen simbol "@" yang baru TWebStencilsProcessor . Semua file proyek dan HTML ada dalam satu folder dan kedua proyek berbagi modul data untuk mengakses database Chinook Sqlite (tidak termasuk).
Ada lima halaman di setiap aplikasi, dibuat agar terlihat identik sehingga Anda dapat berkonsentrasi pada teknologi templat:
File HTML yang dirujuk oleh dua proyek dinamai untuk memperjelas proyek/teknologi mana yang bekerja dengan:
File HTML Template Pageproducer Tradisional:
index-wbroker.htmlloginfailed-wbroker.htmlcustlist-wbroker.htmlcustedit-wbroker.htmlaccessdenied-wbroker.htmlFile HTML Template Webstencils Baru:
index-wStencils.htmllogin-failed-wStencils.htmlcustlist-wStencils.htmlcustedit-wStencils.htmlaccessdenied-wStencils.htmlcustlistframework1.htmlPerhatikan ada satu file lagi dalam koleksi webstencils, ini adalah templat kerangka kerja untuk setiap halaman web yang dihasilkan dari tindakan webstencils dan dikombinasikan dari string header dan footer yang tertanam dalam halaman yang digunakan produsen yang digunakan dalam proyek webbroker tradisional.
Sebelum Anda mencoba untuk mengkompilasi atau menjalankan, Anda harus mengunduh database sampel Chinook. Ini adalah database populer yang digunakan untuk tutorial dan demo dan dapat ditemukan di banyak tempat. Saya menggunakan DBeaver, alat basis data gratis, dan menemukannya dikirimkan dengan itu.
Setelah Anda memiliki chinook.db di folder yang sama dengan proyek, Anda perlu membuka modul data (digunakan oleh kedua proyek), udmCust , dan memodifikasi komponen TFDConnection untuk menentukan lokasi file database. Saya juga akan menyarankan menggunakan alat basis data atau penjelajah data Delphi untuk melihat tabel dalam database.
Delphi 12.2 digunakan untuk membuat dan menguji program-program ini (yang tidak menggunakan komponen pihak ketiga).
Kedua demo ini dibuat sebagai program GUI server web Wind, yang berarti mereka dijalankan sebagai program Windows VCL kecil yang membuka port untuk mendengarkan permintaan web dengan tombol untuk meluncurkan browser web default Anda. Versi PageProducer mendengarkan port 8081 dan versi Webstencils mendengarkan port 8082 sehingga Anda dapat menjalankan keduanya secara bersamaan jika Anda mau.
Halaman pertama yang terdaftar adalah halaman login. Login yang valid harus dimasukkan sebelum akan membawa Anda ke daftar pelanggan. Login yang valid adalah pengguna di tabel karyawan di mana:
FirstName , tidak sensitif pada kasus;EmployeeId dan nama LastName , peka huruf besar-kecil.Misalnya, entri pertama dalam database sampel yang saya unduh memiliki karyawan pertama berikut:
ID : 1FirstName : AndrewLastName : AdamsKarena itu, untuk masuk dengan karyawan ini:
ANDREW (Kasing Atas atau Bawah atau Campuran)1Adams (tepat)Setelah masuk, daftar pelanggan ditampilkan. Setiap ID pelanggan (kolom paling kiri) adalah tautan yang membawa Anda ke layar "Edit" yang mencantumkan semua bidang pelanggan di kotak edit. Tombol Kirim tidak menyimpan perubahan atau melakukan apa pun selain membawa Anda kembali ke daftar pelanggan.
Saya telah menggunakan dua basis data sampel "chinook" yang berbeda, satu memiliki nama meja tunggal (misalnya "pelanggan" dan "karyawan") sementara yang lain memiliki jamak (misalnya " pelanggan " dan " karyawan "); Jika yang Anda dapatkan berbeda dari yang ada di repositori ini, cukup ubah nama tabel dan permintaan yang cocok.
Daftar pelanggan dibangun menggunakan tag tabel HTML lama ( <table> , <tr> , <td> , dll.) Karena itulah cara sederhana dan default aplikasi server webbroker lama yang dibangun menggunakan komponen TDataSetTableProducer dilakukan. Versi webstencils baru membangun hasil HTML yang sama sehingga Anda dapat membandingkan bagaimana hal itu dilakukan dan halaman web yang dihasilkan akan hampir identik. Situs web modern biasanya membangun tabel gaya CSS, manfaat yang dapat direalisasikan dengan beralih dari DataTableProducers ke webstencils.
Baca blog "Pendahuluan Webstencils" saya untuk mempelajari lebih lanjut tentang teknologi di balik program ini dan mengapa webstencils itu keren!