260 likes | 444 Views
Bagian 3 Bahasa Kompilasi, Virtual Machine , Berbasis XML. Pemrograman Multimedia Bertalya Universitas Gunadarma 2006. Taxonomy Dari Format Content. Kebutuhannya : Tipe media yang disupport: audio, video, teks, grafis & animasi susunan: spatial & temporal
E N D
Bagian 3Bahasa Kompilasi, Virtual Machine, Berbasis XML Pemrograman Multimedia Bertalya Universitas Gunadarma 2006
Taxonomy Dari Format Content Kebutuhannya : • Tipe media yang disupport: audio, video, teks, grafis & animasi • susunan: spatial & temporal • Interaksi: pasif, reaktif, proaktif, & reciprocal • Kesulitan penggunaan (threshold) • Kekuatan ekspresi (i.e., ceiling) • Safety of Distribution • Interoperability
Compiled Languages • Biasanya digunakan untuk software sistem (cth, sistem operasi) & servis yg membutuhkan sumber daya: C, C++ • Pro • Pendekatan yang efisien • Kekuatan dalam ekspresi (mendekati hardware) • Con • Interoperability (setiap servis harus dikompilasi ke device target) • Keamanan dalam distribusi rendah (terdapat kode yg merusak)
Compiled Languages : System Software • ”User Interface Software Tools” (1995, Myers) mendefinisikan sebuah model bertingkat • Aplikasi diimplementasikan menggunakan perangkat tingkat tinggi • Toolkit: library of widget yg digunakan aplikasi • Windowing System: menolong pemakai utk memonitor & mengontrol konteks yg berbeda (fungsionalitas input & output)
Compiled Languages : Toolkits • Toolkits menyediakan – Interaksi: utk menangani input pemakai – Operasi kanvas: rendering area, kanvas, & primitif grafis – Set of Widgets: elemen2 interface pemakai yg didefinisikan sebelumnya (cth, Button) – Layout grafis: mengontrol lokasi widgets • Contoh: QT, GTK • Virtual Toolkit – Toolkit yg tidak bergantung pada device – Dipetakan ke Toolkit aktual pada device – Contoh: AWT
Compiled Languages : Media Providers • Audio/Video: Xine, MPlayer • Televisi : linuxtv • Game: SDL • Bahasa lain : Contohnya libflash • 3D graphics: • OpenGL • OpenGL ES • Platform media : LIMMBO, MythTV
VM Languages • VM (Virtual Machine) merupakan suatu abstraksi dari lingkungan yang terkomputerisasi JVM (Java Virtual Machine) + API (Application Programming Interface) • Pro • Platform mandiri • Aman untuk didistribusikan • Kekuatan dalam ekspresi (bahasa pemrograman) • API terdokumentasi dg baik • Con • Pengaplikasiannya berat (karena konsep VM) • Sulit digunakan (bahasa pemrograman) • Kekuatan kurang dibandingkan compiled language
VM Languages:Java Overview • Edisi: –Java 2 Enterprise Edition (J2EE): utk server &komputer enterprise – Java 2 Standard Edition (J2SE): utk server & PC – Java 2 Micro Edition (J2ME): utk device yg disisipkan, PDA, mobile phone, & televisi digital – Java Card: utk smart card • Profil – kebutuhan utk pasar device vertikal (kumpulan API) • Konfigurasi – platform min utk group device (VM + jantung API)
VM Languages:Multimedia • Pengembangan interface user (AWT/Swing) – Layout: Grid, North-South-East-West, Flow – Set of Widgets: Button, TextArea – Interaksi user: awt.ui.* (Mouse, Keyboard…) • Video/Audio & Synchronization (JMF) – Manager, Player, Data Source, & Controller • 3D Graphics – Java3D – Java wrappers for OpenGL • Device2 berbeda – Television: MHP/OCAP/ACAP/ARIB -> GEM – Handheld: MIDP
VM Languages : JMF (2/2) • Unrealised: jika tidak mempunyai semua informasi utk memperoleh sbr daya yg dibutuhkan • Realised: jika mempunyai semua informasi utk memperoleh sbr daya • Prefetched: jika sudah mempunyai semua sbr daya yg dibutuhkan, & sudah mempunyai media data yg cukup prefetched utk segera dimainkan • Started: jika media benar2 telah dimainkan
VM Languages : 3D Graphics • Java3D – API baru utk aplikasi 3D graphics stand-alone – dapat menggunakan arsitektur apa saja (Direct-X, OpenGL...) – mungkin bukan pendekatan yg efisien – para pengembang harus mempelajari terlebih dahulu API baru • Java wrappers of OpenGL – Functionality from OpenGL – Developers knows the API already – Only wrappers: uses Java Native Interface (JNI) – Much intercommunication between layers (Java -> C) – API is not standardised yet (Java Specification Requests) • JSR 231: OpenGL • JSR 239: OpenGL ES
VM Languages : J2ME • Defines two Configurations: • – CDC: High end consumer devices • • RAM Java Memory: around 2MB • • ROM Java Memory: around 2.5MB • – CLDC: Low end consumer devices • • Processor:16 bit/16 MHz or higher • • Java total memory: 160-512 KB • • CDC (Connected Device) • – Personal Profile • • Adds support for lightweight AWT • – Foundation Profile • • Basic application APIs (no GUI) • • CLDC (Connected Limited Device) • – Mobile Information Device Profile (MDIP) • • Application APIs + GUI APIs
XML Based Languages • Merupakan bahasa pemrograman deklaratif (apa yang harus dikerjakan, bukan bagaimana). Kontributor utama adalah W3C. • Pro • Mudah dalam penggunaan (dapat menggunakan text editor) • Interoperability (hanya butuh sebuah compatible browser) • Keamanan dalam distribusi • Con • Kuat dalam ekspresi (sangat terbatas, bukan bahasa pemrograman!) • Menggunakan skrip untuk logika aplikasi (atau tidak!) • Membutuhkan browser
XML Based Languages : HTML & XHTML • HTML • • HTML 4.01: (24 Dec. 1999) W3C Recommendation • • Lingua franca for publishing hypertext on the WWW. • • Non-proprietary • • Can be created by a wide range of tools:– Text editors– Authoring tools • • All kind of features (mixed together):– UI components– Fonts– Lists • XHTML • • XHTML 1.0 (26 Jan. 2000, revised 1Aug. 2002) W3C Recommendation • • XHTML 2.0: (22 July 2004) W3C Working Draft • • Reformulation of HTML 4 in XML • • Intention – To only describe the structure of thedocument (CSS formatting) • • XHTML 1.0 • XHTML 2.0 • – Well formed documents _ No backwards compatible • – Proper nesting – Reduces scripting • – ... – Includes XForms and XML Events