Mengenal Microsoft Silverlight
Di Era Web 2.0 sekarang, Anda dapat mengunjungi website yang dilengkapi dengan video, animasi, suara, dan fitur-fitur interaktif lainnya. Para programmer telah bekerja keras menciptakan aplikasi untuk menampilkan semua fitur tersebut melalui jendela web browser. Salah satu aplikasi tersebut adalah Microsoft Silverlight.
Dalam banyak hal,
Silverlight memiliki kemiripan dengan Adobe Flash. Silverlight mensyaratkan
pengembang (developer) dan pengguna (user) web untuk men-download sebuah
aplikasi client. Tanpanya, web browser tidak dapat memproses Silverlight.
Dengannya, developer dapat menggabungkan video streaming, audio, dan animasi ke
dalam halaman web. Di WWW, sistem ini dikenal dnegan sebutan Rich Internet Application (RIA).
Meski dibuat sebagai
ekstensi proyek lainnya dari Microsoft lainnya, aplikasi Silverlight berdiri
sendiri. Microsoft mempromosikan Silverlight sebagai teknologi cross-platform
dan cross-browser. Sebuah proyek Open Source dengan nama Mono membuka jalan bagi
Silverlight untuk diinstal di Linux.
WPF dan XAML
Dalam Silverlight,
Microsoft menyertakan teknologi Microsoft Windows Presentation Foundation (WPF)
dan dukungan untuk eXtensible
Application Markup Language (XAML). Developer dapat menggunakan keduanya
(WPF dan XAML) untuk membuat aplikasi web. Keduanya bekerja di dalam Framework
.NET. Microsoft mengembangkan WPF karena keterbatasan yang dimiliki oleh HTML,
web browser mampu mengeksekusi fungsi-fungsi yang terlalu kompleks bagi HTML.
WPF menggunakan engine rendering berbasis vector, yang
mendukung grafis 2D dan 3D, untuk meng-generate grais pada aplikasi. Dengan
XAML, developer dapat melakukan tweak untuk tampilan aplikasi mereka. Sementara
WPF dan XAML menentukan bagaimana aplikasi terlihat dan berperilaku, programmer
menggunakan bahasa pemrograman lainnya untuk membangun aplikasi.
Silverlight 1 hanya mendukung JavaScript, dan
Silverlight 2 mendukung beberapa bahasa dinamis seperti Visual Basic dan C#.
Programmer membangun aplikasi menggunakan bahasa-bahasa tersebut di dalam
Framework .NET, dan menggunakan WPF dan XAML untuk mengintegrasikan aplikasi ke
dalam bentuk halaman web. Hasilnya, semua aplikasi Silverlight berjalan di
dalam web browser.
Arsitektur Silverlight
Sebagaimana semua software, platform Silverlight
memiliki susunan tertentu dari fungsi-fungsi dan fitur-fitur yang disebut
arsitektur, yaitu gambaran tentang bagaimana sebuah program bekerja. Arsitektur
mengelompokkan dan menyatukan berbagai tugas dalam sebuah alur logis, dan
menunjukkan bagaimana bagian-bagian yang berbeda tersebut bekerja sama untuk
menghadirkan keseluruhan layanan.
Arsitektur platform silverlight terbagi menjadi dua
komponen utama, dengan sebuah installer tambahan dan elemen untuk updating.
Kedua komponen utama ini mencakup Framework inti presentasi dan Framework .NET
untuk Silverlight. Framework inti presentasi berisi hal-hal berikut :
- User interface (UI) rendering engine, yang menggenerate semua tampilan grafis, animasi, dan teks di dalam aplikasi.
- Input interface, yang menangani semua input dari perangkat seperti keyboard, mouse, dan layar sentuh (touch screen)
- Media engine, yang mendukung beberapa format audio dan video.
- Digital right management, yang memungkinkan developer untuk mengontrol media yang ada di dalam aplikasi.
- Dukungan untuk kontrol aplikasi
- Dukungan untuk layout UI yang dinamis, yang memungkinkan developer mengubah tampilan UI secara real-time
- Dukungan untuk data binding, yang menghubungkan elemen UI dengan objek data di dalam aplikasi
- XML parser
Framework .NET mencakup fitur-fitur di bawah ini :
- Dukungan untuk fitur Language Integrated Query (LINQ), yang memungkinkan developer mengintegrasikan data dari berbagai sumber yang berbeda.
- Class library, yang mendukung fungsi-fungsi dasar pemrograman, seperti kriptografi.
- Seperangkat fitur yang disebut Window Communication Foundation (WCF), yang didesain untuk memudahkan aplikasi mengakses data dan layanan remote.
- Dynamic Language Runtime (DLR), elemen yang mendukung aplikasi yang ditulis dalam berbagai bahasa pemrograman.
- Common Language Runtime (CLR), komponen yang menangani manajemen memory dan fungsi-fungsi kritikal lainnya.
- Framework inti presentasi dan .NET di atas berinteraksi satu sama lain melalui XAML. Dalam hal ini, XAML bertindak sebagai jembatan antara dua komponen.