Pertemuan5

advertisement
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
• Interaksi: pasif, reaktif, proaktif, & reciprocal
• Kesulitan penggunaan (threshold)
• Kekuatan ekspresi (i.e., ceiling)
• Safety of Distribution
• Interoperability
2
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)
3
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)
4
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
5
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
6
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
7
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)
8
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
9
VM Languages : User Interface Development
10
VM Languages : JMF (1/2)
11
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
12
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
13
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
14
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
15
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
– Proper nesting
– ...
_ No backwards compatible
– Reduces scripting
– Includes XForms and XML Events
16
XML Based Languages
17
XML Based Languages
18
XML Based Languages
19
XML Based Languages
20
XML Based Languages
21
XML Based Languages
22
XML Based Languages
23
XML Based Languages
24
XML Based Languages
25
XML Based Languages
26
Download