Apr 19

Actionscript Virtual Machine

Actionscript Virtual Machine (AVM) merupakan engine yang terdapat di Flash Player untuk mengeksekusi code-code dari bahasa program Actionscript.

Dalam sejarahnya sampai posting ini dipublish, AVM bisa dibedakan menjadi 2 generasi.

Generasi pertama atau biasa disebut AVM1 (Actionscript Virtual Machine 1) digunakan pada Flash versi 4 – versi 8.

Generasi kedua (AVM2) diperkenalkan pada Flash versi 9.

Pembahasan mengenai AVM tidak lepas dari sejarah actionscript.

Berikut adalah perkembangan actionscript dari Flash 3 – Flash 8 :

- Pada Flash 3, actionscript hanya berupa kode perintah sederhana untuk mengatur pergerakan dan kontrol animasi. Movieclip mulai diperkenalkan.

- Pada Flash 4 pemakaian variable mulai dioptimasi dan dilengkapi interface untuk berhubungan ke CGI (Server).

- Pada Flash 5 actionscript versi 1 mulai mengikuti ECMAScript. Operasi dengan XML mulai diperkenalkan.

- Pada Flash 6, di authoring tool Flash MX disertakan component UI yang merupakan penerapan OOP pada actionscript dengan memakai konsep prototype.

- Pada Flash 7 (Flash MX 2004) actionscript beranjak ke versi 2 dan dibakukan menurut ECMAScript. Tetapi belum 100% “standard compliant”. Pembakuan ini hanya untuk kepentingan aturan notasi dan deklarasi penulisan, dan belum merupakan pembakuan kode dalam arti yang sebenarnya. Karena sewaktu dikompilasi kode-kode actionscript 2 tetap serupa dengan actionscript 1. Demikian juga proses eksekusi bytecode oleh AVM , tidak ada perbedaan berarti antara code actionscript 1 dan actionscript 2.

- Pada Flash 8 terdapat peningkatan yang nyata pada aspek visual, misalnya Filter dan Glow, Bitmap Caching, optimasi Flash Video (flv), Blend mode dan lain-lain. Sedangkan dalam Core API terdapat API baru yaitu External Interface yang mempunyai fungsi hampir sama dengan fscommand untuk eksekusi kode yang terdapat di host (kontainer ActiveX , Javascript di browser, dll).

Actionscript Virtual Machine 2 (AVM2) dan Actionscript 3.0

AVM2 merupakan penulisan ulang (full rewrite) dari AVM1. Dan Actionscript 3.0 adalah versi selanjutnya dari actionscript yang ditujukan untuk AVM2.

Baik AVM2 dan actionscript 3.0 pertamakali diperkenalkan pada Flash 9 public beta (Flash 8.5) yang direlease akhir 2005.

Keduanya (AVM2 dan Actionscript 3.0) merupakan kata kunci dalam terminologi flash versi 9.

Pada awal kemunculan Flash 9 sering muncul kerancuan pada kata lain yaitu “Flex”.

Flex adalah sebuah framework yang dibangun berdasarkan teknologi Flash.

Flex pasti Flash dan Flash tidak hanya Flex.

Framework Flex terdiri dari package raksasa class class actionscript 3.0 yang diperkenalkan oleh adobe (macromedia) untuk membuat aplikasi web di swf.

Hampir serupa dengan .NET framework yang dibangun di C/C++ oleh Microsoft.

Sampai saat ini Flex sudah mencapai versi 2, dan ditulis di actionscript 3.0.

Mengapa bahasa Actionscript diklaim mempunyai keseimbangan baik sebagai static language dan dynamic language?

- Dikatakan static seperti halnya bahasa C++, C#, dan Java karena sanggup membangun system aplikasi yang komplek dan sempurna dibanding versi sebelumnya.

- Dikatakan dynamic karena seperti halnya bahasa – bahasa dinamis seperti ECMAScript, Perl, Python; actionscript mampu menawarkan flexibilitas dan lebih expresif.

Actionscript 3.0 diyakini sudah 100% memenuhi spesifikasi ECMA-262, dan fitur–fitur bahasa yang terbaru yang terdapat didalamnya berdasarkan proposal ECMAScript 4 Netscape.


Flash Player 9

Flash player adalah keseluruhan engine yang mengeksekusi file movie (swf) flash. Mulai dari me-render vector graphic, menjalankan animasi sampai sebagai interpreter dari code – code actionscript, yang sebelumnya sudah dirubah menjadi bytecode sewaktu swf di-compile.

Flash player bisa diakui sebagai salah satu monumen yang terdapat di internet. Salah satu interpreter terkecil dan terluas penyebarannya ke seluruh dunia dan hampir ke seluruh platform sistem operasi.

Sewaktu masih bersama Macromedia, menjaga ukuran player tetap kecil adalah prioritas utama dari tim enginering flash player. Ada kemungkinan prioritas lain akan bertambah dan berpengaruh sesudah teknologi flash dipegang Adobe.

Di player versi 9, kedua virtual machine (AVM1 dan AVM2) masing-masing eksis. AVM2 untuk mengeksekusi Flash9 dan AS3, sedangkan AVM1 untuk mengeksekusi flash dan actionscript versi sebelumnya.

Hal ini memberikan keuntungan dalam kompatibilitas tipe swf yang dieksekusi, dan memberikan kebebasan developer dalam membuat movie tanpa terbatasi oleh versi movie swf yang mereka buat.

Mengapa actionscript harus dirubah menjadi bytecode sewaktu di-embed ke dalam swf? Salah satu alasannya adalah untuk menjaga ukuran flash player tetap kecil. Karena dengan format bytecode, flash player tidak perlu lagi client-side compiler untuk mengeksekusi-nya. Bayangkan bila client-side compiler tetap dimasukkan ke dalam arsitektur player.., yang pasti akan mempengaruhi ukuran player menjadi lebih besar.

Perbedaan nyata Flash player 9 dengan versi sebelumnya, di versi ini eksekusi di-klaim lebih cepat 10 kali dari sebelumnya, dan penggunaan memory dihemat 50% bahkan lebih.

Just-In-Time compiler

Just-In-Time compiler atau JIT adalah compiler internal yang terdapat dalam setiap Flash Player untuk meng-kompilasi bytecode actionscript menjadi native machine code sewaktu runtime.

Dengan adanya JIT di Flash player 9 inilah maka eksekusi code actionscript meningkat sangat pesat dibanding versi sebelumnya.

JIT merupakan solusi untuk memperbaiki kinerja AVM2 sewaktu menjalankan code actionscript. Dan diharapkan kode-kode actionscript kita akan berjalan dengan kecepatan hampir sama dengan kode – kode Java/ C++.

Mengapa JIT ?

Karena actionscript yang highly dinamic, loosely typed, dan merupakan bahasa scripting interpreter seperti halnya kebanyakan bahasa scripting dinamis lainnya akan dieksekusi lebih lambat dibanding code – code Java/ C++ yang statis yang telah berupa native machine code sewaktu code (Java/C++) tersebut dikompilasi.

Sehingga dengan JIT code-code actionscript yang sudah berupa bytecode di swf akan ditranslasi menjadi bahasa mesin. Penggunaan JIT juga dimaksudkan untuk menanggulangi perbedaan arsitekstur mesin / prosessor tempat Flash Player berjalan.

Apr 16

(a.k.a Flash IDE 9) sudah keluar hari ini,
Fresh Price $699! Upgrade $199!
Hmm, mahal ya?

Ini adalah Flash IDE pertama dari Adobe setelah meng-akuisisi Macromedia.

Dan ini adalah Flash IDE pertama yang seharusnya tanpa Jonathan Gay (godfather of Flash), juga tanpa Robert Tatsumi, juga tanpa Gary Grossman (creator of actionscript).

Secara kasat mata mungkin tak terlihat pengaruhnya, sebaliknya ada perkembangan baru dari Flash teknologi pada release ini!

Yang pasti Flash CS3 akan lebih terintegrasi dengan Adobe CS family lainnya.

Perlu diingat, generasi ke-9 adalah milestone terpenting dalam sejarah Flash.

Informasi dibawah ini ditulis dari hasil interaksi dengan Flex 2.0.1 yang bersama Flash CS3 sama-sama mengusung Actionscript 3.0 language :

Di versi ini hierarki Display Object dirombak besar-besaran, hasilnya (katanya..) setiap Display Object dirender lebih efisien oleh Flash Player! Bagi yang belum tahu , objek yang ada di stage _root tidak cuma Movieclip Class atau Simple button belaka, sekarang sudah ada yang lebih primitif dari movieclip seperti Sprite Class dan DisplayObject Class!

Di versi ini Binary Data untuk pertama kalinya bisa di read/write juga di inflate/deflate (wow..!), anda dapat membuat interaksi client server dengan protokol versi anda sendiri, semau anda, sehingga bisa lebih efisien dibandingkan protokol AMF versi 3 sekalipun dengan adanya Inflate (kompress)/Deflate(dekompress) binary ini!

Di versi ini Regular Expression Class dimasukkan!

Di versi ini aku tertegun melihat syntax baru seperti double dot notation untuk parsing XML dengan E4X!

Di versi ini Just In Time Compiler di Flash Player Virtual Machine diperkenalkan!

Walau begitu aku secara pribadi merasa ada ironi yang tersirat.
Secara historis Flashtech kehilangan mata rantai (miss link) sejarah. Peristiwa yang mengejutkan tapi tetap tersembunyi dibelantara web, ketika Jonathan Gay memutuskan keluar dari Flash team, beberapa saat setelah Macromedia bergabung dengan Adobe. Godfather Flash ini membawa serta Gary Grossman dan Robert Tatsumi serta Peter Santangeli keluar dari Adobe dan membentuk perusahaan baru yang diberi nama cukup unik “Software as Art”.
Mereka adalah orang-orang penting dalam perkembangan Flash versi 1 sampai 6. Jonathan Gay-lah yang membidani cikal bakal Flash, Gary Grossman-lah pencipta actionscript yang sebelum kejadian masih sempat merelease “ActionScript 3.0 Overview” bersama Emmy Huang!

Dilihat dari pemilihan nama sepertinya mereka menyindir Adobe yang memperlakukan Flashtech sebagai Barang dagangan semata? Atau peristiwa lain yang Wallahu Alam?
Terlalu berani untuk kita berspekulasi lebih jauh, ya nggak?

Kejadian ini seyogyanya mengingatkan kita kepada “Border line” yang selalu ada antara art dengan komoditi, yang mempengaruhi banyak aspek dibelakangnya, disemua segi kehidupan kita!

Apr 14

Nice moments…
Nice days…
Good times reunions…
The first thing that caught my eye was my hospital and campus…
So many changes initiatives over the years…
Some questions asked about improvements…
Some may have more than one answer…

I´m sorry that I couldn´t had spent more time with this city…
I really meant it and I wish we meet again. Somewhere. Someplace. Someday,
If God will but allow…

Just like Nostalgia song by Yanni (released on the album Live at the Acropolis),
A few parts of this song may be a little sloppy, which make me love it since very first time I heared this song!
So I will have to admit I bit sloppy in this post ^_^

But it’s time to back to work. A brand new situations is waiting ahead…
I will go home tomorrow morning.

Apr 10

Kekacauan bermula sewaktu edit template blogspot.
Masalah pertama, posting lama kembali ter-publish tanpa ku tahu apa sebabnya!
Masalah kedua, page dengan template baru tidak bisa muncul!! Yang ada malah posting terakhir di oktober 2006 dengan template terakhir yang dipasang!
Dulu aku memang pernah mengubah templatenya. Tapi tidak menduga kalau berakibat jadi seperti ini!!
Ada apa sih!! Sudah 1 jam ngutak ngatik belum tahu jalan keluarnya.

Apr 10

Jumlah download apollo ternyata sudah mencapai 110.000 download sewaktu posting ini ditulis. Baca beritanya di sini

Apr 8


Tadi pagi dengan bayu mendatangi kantin dekat kamar mayat itu,..

Untuk mengecek apakah poster undangan untuk acara perpisahan 4 tahun 5 bulan yang lalu yang ditempel bayu masih exist di pintu masuk kantin?

Ternyata.. masih ada!!,

Sama seperti konfirmasi bayu setahun yang lalu, poster itu masih mulus dan belum ada pihak manapun yang berniat menyingkirkannya.
Disebelah kanan juga terdapat poster sejenis dari angkatan 1999.

Sebenarnya poster itu ditempelkan bulan oktober tahun 2002 untuk mengajak teman-teman persenner satu angkatan supaya menghadiri acara kumpul-kumpul terakhir sebelum sumpah, sekaligus acara bagi-bagi album buku dan cd kenangan di gedung GSG.

Kejadian dan acara yang sederhana tapi berkesan dalam. Dan sewaktu melihat poster itu masih terpampang, jadi terharu lagi!!
Ini fotonya!!

Apr 8

Coba baca disini, aku dipaksa pak thohar ngepost di sini
coba cek!! Moment yang gak diduga!! Hehehe!

« Previous Entries Next Entries »