Introduction to AS 3.0 Part II

posted on 08 Jun 2007 18:04 by coreflash  in AS3

บทความนี้สำหรับ ผู้เริ่มต้นหรือบุคคลทั่วไป ผู้ใช้เคยเขียนโปรแกรมมาบ้าง ผู้ใช้งานระดับผู้พัฒนาโปรแกรม

Introduction to AS 3.0 Part II
ครั้งนี้ขอยังไม่เริ่มเขียนโปรแกรมนะครับ ขออธิบายอะไรเพิ่มเติมอีกหน่อยครับ เพราะเท่าที่ได้ลองอ่านแล้วรู้สึกยังขาดส่วนที่สำคัญๆ ไปครับ ขอเพิ่มเติมรายละเอียดให้ครอบคุลมก่อนครับ

คุณสามารถเขียน AS 3.0 ได้จาก Adobe Flash, Adobe Flex Builder 2, Flex SDK ฯลฯ ซึ่งจริงๆ แล้วคุณสามารถเขียน AS 3.0 ได้จากโปรแกรมพวก Texteditor ได้เลยครับ แต่คุณจะต้องใช้ โปรแกรมข้างต้นที่กล่าวมานั้น Compile ซึ่งจริงๆ แล้วคุณสามารถหาตัว Software ได้ไม่ยาก เรามาเริ่มทำความเข้าใจในหลักการเขียน AS 3.0 กันเลย

ขั้นตอนเบื้องต้นในการเขียน AS 3.0
การเขียนโปรแกรมโดยทั่วไปนั้น จะมีขั้นตอนของการเขียนโปรแกรมแบบง่ายๆ ดังนี้
1.ออกแบบโปรแกรม
2.ลงมือเขียนโปรแกรม
3.Compile โปรแกรมด้วย Flash, Flex Builder 2 หรือ Flex SDK ฯลฯ
4.ทดสอบโปรแกรมและนำไปใช้งาน
จากลำดับขั้นตอนทั้งหมดที่กล่าวมาข้างต้นมันไม่สำคัญเลย คุณสามารถสลับลำดับได้ตามความเหมาะสม แต่โดยคราวๆ แล้วก็จะมีขั้นตอนประมาณนี้ในการเขียนโปรแกรม

เขียนโค้ดของคุณได้ที่ไหนบ้าง
คุณสามารถเขียน AS 3.0 ได้ทุกที่ก็จริง แต่การเขียนโค้ดนั้นๆ ก็ต้องดูความเหมาะสมเป็นหลัก และ ก็ขึ้นอยู่กับเครื่องมือ (Flash หรือ Flex หรือ ฯลฯ) ที่คุณใช้ในการเขียนโค้ดของคุณด้วย ซึ่งเครื่องมือแต่ล่ะอันนั้นจะมีลักษณะของการเขียนโค้ดไม่เหมือนกันเรามาดูกันว่ามีอะไรบ้าง

เขียนโค้ดลงบน Frame ใน Timeline ของ Flash
การเขียนโค้ดในโปรแกรม Flash นั้นคุณสามารถลงโค้ดของคุณบน Frame ใน Timeline ได้ ซึ่งโค้ดนั้นจะถูกประมวลผลเมื่อ Playback Head วิ่งมา ณ Frame นั้นๆ รวมไป ถึงการลงโค้ดบน Frame ใน Timeline ของ MovieClip Symbol ด้วย การลงโค้ดในลักษณะนี้ถือว่าง่าย และ รวดเร็วที่สุดก็จริง แต่ ถ้าหากคุณกำลังพัฒนา Application ขนาดใหญ่ หรือ โปรแจกระดับชาติ การทำเช่นนี้อาจเป็นการฆ่าคุณได้ หากคุณต้องทำการปรับปรุงหรือแก้ไขการทำงานของ Application นั้นอยู่เสมอ เชื่อหรือไม่ว่าการแก้ไขโค้ดเพียงเล็กน้อยของคุณแต่กลับใช้เวลาในการจัดการมากกว่าการเขียนโค้ดลงไปใหม่เลยก็เป็นไปได้ แต่ทางเลือกที่คุณใช้ทั้ง 2 ทางนั้น (1.หาโค้ดบรรทัดที่ต้องการแก้ไขให้เจอ 2.เขียนโค้ดใหม่ โดยการสร้างตัวจัดการการทำงานนั้นๆ ขึ้นมาใหม่แทนตัวเดิมไปเลย) กลับทำให้การแก้ไขโค้ดในภายหลังยิ่งดูเป็นเรื่องยากขึ้นไปอีก เมื่อมีการขยายต่อการทำงานจากเดิม (คงพอนึกออกนะครับสำหรับคุณๆ ที่ชอบเขียนโค้ดแบบขอไปที เวลาไปแก้โค้ดแล้วจำไม่ได้ว่าตัวแปร หรือ ฟังค์ชั่นนี้ใช้ที่ไหนบ้าง เจอเข้าบ่อยนี้ถึงกับเบื่อการเขียนโค้ดไปพักหนึ่งเลยครับ)

เมื่อเจอเหตุการณ์ในลักษณะนี้เข้าทางผู้พัฒนา Application ด้วย Flash ก็แก้ปัญหานี้ด้วยการเขียนโค้ดลงบน Frame แรก แล้วทำการแยกเป็น Layer ที่เอาไว้จัดการ การเขียนโค้ดโดยเฉพาะ ซึ่งวิธีนี้ทำให้การแก้ไขปัญหาต่างๆ แลดูจะง่ายขึ้นในระดับหนึ่ง แต่เมื่อไรก็ตาม ที่คุณพัฒนา Flash Application ด้วยไฟล์หลายๆ ไฟล์มาประกอบกันเข้าล่ะก็ คุณก็ต้องทำการ Copy แล้วก็ Paste โค้ดเอา หากการทำงานนั้นมันเหมือนๆ กัน แต่เมื่อไรก็ตามที่ต้องแก้ไขการทำงานอย่างหนึ่งอย่างใดใหม่ คุณก็ต้องไปทำการ Copy แล้วก็ Paste ลงไปทุกไฟล์ (แค่คิดยังไม่ได้ทำก็เหนื่อยแล้วครับ) ซึ่งมันก็ยังไม่เป็นวิธีที่ดีที่สุด

วิธีการที่ดีที่สุดนั่นก็คือ การเขียน AS ไฟล์เอาไว้ข้างนอก (External ActionScript Files : Text file with the .as extension) แล้วทำการimport เข้าไป ซึ่งวิธีนี้ถือว่าเป็นวิธีที่ดีที่สุด ในการที่จะพัฒนา Application ด้วย Flash

ฝังโค้ดใน MXML File ของ Flex Builder 2
การเขียนโค้ดในโปรแกรม Flex นั้นคุณสามารถเขียนโค้ดลงใน Tag <mx:Script> ใน MXML File ของ Flex เหมือนการเขียนโค้ดลงบน Frame ใน Timeline ของ Flash นั่นล่ะ

เขียนโค้ดลงใน External ActionScript File
ถ้าโปรแจกของคุณมีการใช้ External ActionScript File ในการเขียนโค้ดแล้วล่ะก็ การเขียนโค้ดแบบนี้ถือว่าเป็นทางเลือดที่ดีที่สุดก็จริง แต่คุณก็สามารถทำการสร้าง External ActionScript File ได้ 2 แบบ มันขึ้นอยู่กับคุณ ว่าคุณต้องการที่จะสร้าง External ActionScript File แบบไหน

แบบที่ 1 Unstructured ActionScript code: เขียนคำสั่งเป็นบรรทัดต่อบรรทัด หรือ สร้างฟังค์ชั่นเอาไว้เพื่อเรียกใช้งาน ซึ่งเหมือนกับการเขียนโค้ดลงบน Timeline หรือ ใน MXML File ใน Tag <mx:Script> ถ้าเขียนใน Tag <mx:Script> ของ Flex MXML จะเขียนได้แบบนี้ <mx:Script source="Box.as" />

แบบที่ 2 ActionScript Class: เขียน External ActionScript File ในลักษณะของ Class File โดยรวมเอา Property, Method และ Event เอาไว้ หากคุณใช้วิธีการนี้ในการสร้าง External ActionScript File คุณต้องทำการสร้าง instance ของ class นั้น ๆ ก่อน ซึ่งจริงๆ คุณสามารถทำได้ 2 แบบ ด้วยกันดังนี้

2.1 Class ที่ทำการเรียกใช้ถูกจัดเก็บในลักษณะของ Package ที่มีการ Build-In เอาไว้ คุณสามารถใช้คำสั่ง import เพื่อทำการเรียกใช้ Class นั้นๆ ได้ดังนี้
ตัวอย่างการเขียนโค้ด
import flash.display.MovieClip; // Import มาเฉพาะ Class MovieClip;

หากคุณต้องการ Class ทั้งหมดภายใน Package นั้นคุณสามารถเขียนโค้ดได้ดังนี้
ตัวอย่างการเขียนโค้ด
import flash.display.*; // Import Class ทั้งหมดภายใน Package flash.display มาใช้;

2.2 เขียนโค้ดในลักษณะการอ้างถึง Class ที่ทำการสร้างขึ้นเอง ให้ทำการสร้าง Class file นั้นเอาไว้ที่เดียวกับไฟล์ที่เราจะทำการเรียกใช้ Class เช่น ถ้าเป็น Flashให้เอาไฟล์ *.fla กับ Box.as ไว้ที่เดียวกัน หากเป็น MXML ของ Flex ก็ให้เอาไฟล์ Box.as ไปไว้ที่เดียวกับ File *.mxml
ตัวอย่างการเขียนโค้ด
var smallBox:Box = new Box(10,20);

บทต่อไปเริ่มเขียนโปรแกรมแรกกันเลยครับ

Introduction to AS 3.0 Part I

posted on 04 Jun 2007 18:16 by coreflash  in AS3

บทความนี้สำหรับ ผู้เริ่มต้นหรือบุคคลทั่วไป ผู้ใช้เคยเขียนโปรแกรมมาบ้าง ผู้ใช้งานระดับผู้พัฒนาโปรแกรม

Introduction to AS 3.0 Part I
ก่อนจะไปถึงเรื่องของการ Coding AS 3.0 ผมขออธิบายถึง สถาปัตยกรรมของ AS 3.0 เพื่อเป็นการปรับความรู้ของทุกท่าน ให้เป็นไปในทิศทางเดียวกัน และเมื่อพูดถึงคำศัพท์คำใดในบทหลังๆ จะได้ทำความเข้าใจได้ตรงกัน ซึ่งจะลดคำถามต่างๆ ที่จะตามมาได้เป็นอย่างดีครับ แต่สำหรับท่านที่คิดว่าทำความเข้าใจมาดีอยู่แล้วใน สถาปัตยกรรมของ AS 3.0 ก็สามารถข้ามไปได้เลยครับ แต่ก็ต้องรอผมเขียนอยู่ดีครับ

ActionScript 3.0
AS (ActionScript) เป็นภาษาที่ใช้ใน Flash Player ซึ่ง Flash Player ยอมให้มีการติดต่อสื่อสารกัน (Interactivity), การควบคุมและจัดการข้อมุล (Data Handling) และอื่นๆ อีกมากมายใน รูปแบบ Flash Content และ Flash Application

AS จะถูกดำเนินการโดย AVM (ActionScript Virtual Machine), AVM ถือว่าเป็นส่วนหนึ่งในFlash Player

AS Code โดยทั่วไปจะถูก Compile โดย Compiler ให้อยู่ในรูปของ Bytecode ซึ่ง Compiler นี้จะถูกรวมเข้ากับ โปรแกรม Flash Authoring Tool, Flex Builder, Flex SDK และ Flex Data Services โดยที่ Bytecode จะถูก embed ใน SWF ไฟล์ ซึ่งมันจะถูกประมวลผลด้วย Flash Player อีกที

AS 3.0 เป็นภาษาที่ออกแบบมาโดยใช้หลักการของ OOP (Object-Oriented Programming) ซึ่งง่ายต่อการพัฒนา เรามาดูถึงลักษณะเด่นใน AS 3.0 กันดีกว่า
- ActionScript Virtual Machine ใหม่ (AVM2) ซึ่งรวมไปถึง Bytecode แบบใหม่ที่มีการออกแบบสถาปัตยกรรมใหม่ๆ ลงใน Bytecode เพื่อเพิ่มประสิทธิ์ภาพในการจัดการ และการประมวลผล
- ตัว Compiler ที่พัฒนาขึ้นมาใหม่นี้ใช้มาตราฐานของทาง ECMAScript (ECMA-262)
- ปรับปรุง API (Application Programming Interface) ในส่วนของการจัดการในระดับ Low-Level Control ของ Object
- ใช้มาตราฐานของ ECMA-262 Edition 4 ในการกำหนดคุณสมษัติต่างๆ ของ AS 3.0
- XML API ใช้หลักการพื้นฐานของ ECMAScript for XML (E4X) โดยใช้มาตราฐานของ ECMA-357 Edition 2 ในการกำหนดคุณสมษัติ ซึ่ง E4X ที่เพิ่มเข้ามาใหม่นี้จะเอาไว้จัดการกับข้อมูลประเภท XML โดยเฉพาะ
- Event Model จะใช้คุณสมษัติของ DOM (Document Object Model) Level 3 ในการกำหนดคุณสมษัติ

ข้อได้เปรียบของ AS 3.0
AS 3.0 จะไม่ได้เขียน Code แบบเดียวกับ AS ก่อนหน้านี้ มันถูกออกแบบมาเพื่อสร้าง Application ที่มีความซับซ้อน พร้อมทั้งรองรับข้อมูลขนาดใหญ่ สนับสนุนการนำกลับมาใช้ใหม่(Reusable code bases) และ รวมถึงการเขียนโปรแกรมในลักษณะของ OOP (Object-Oriented Programming) ขณะที่ AS 3.0 ไม่ต้องการข้อมูลใดจาก Adobe Flash Player 9 มันกับใช้ช่องทางพิเศษที่จัดเตรียมเอาไว้ให้เฉพาะใน AVM2 ซึ่งเป็น Virtual Machine ใหม่ของ AS 3.0 ที่สามารถประมวลผลได้ไวกว่าเวอร์ชั่นเดิมถึง 10 เท่าตัว

AVM1 จะใช้ในการประมวลผล AS 1.0 และ AS 2.0 ซึ่ง AVM1 ยังคงใช้งานได้ดีใน Adobe Flash Player 9 แม้ว่าจะเป็น AS เวอร์ชั่นเก่าก็ตาม

มีอะไรใหม่ใน AS 3.0
แม้ว่า AS 3.0 จะประกอบไปด้วย Class และ Feature ต่างๆ ที่คล้ายกับ AS เดิมก็จริง แต่ AS 3.0 นั้นมีการออกแบบโครงสร้างทางสถาปัตยกรรมใหม่ และ แนวคิดใหม่ที่แตกต่างจาก AS เดิมอยู่มากเลยที่เดียว สิ่งที่เพิ่มเข้าไปใหม่ใน AS 3.0 นั้นรวมถึงหลักการเขียนโปรแกรม และ การปรับปรุง Flash Player API ใหม่ให้สามารถควบคุมถึงระดับ Low-Level Object

Core language features
AS 3.0 ได้นิยามพื้นฐานในระดับ Blocks ของภาษา เช่น Statement, expression, conditions, loops and types โดยใช้หลักการใหม่ๆ เพื่อเพิ่มประสิทธิภาพในการพัฒนาให้เร็วขึ้น ดังนี้

- Run-time exception ตรวจจับ Error ได้ดีกว่าเวอร์ชั่นก่อน โดยจะแสดงรายละเอียดถึงระดับ Source file, Line ซึ่งทำให้สามารถจัดการกับ Error ได้รวดเร็วขึ้น

- Run-time types ตรวจสอบชนิดของ Variable ในขณะ Run-Time ต่างจาก AS 2.0 ที่ตัวแปรที่ประกาศไว้ก่อนหน้านั้นในขณะ Run-Time จะถูกเปลี่ยนเป็น Dynamic type ทั้งหมด การตรวจชนิดของตัวแปรนี้จะทำให้การใช้หน่วยความจำเป็นไปอย่างมีประสิทธิภาพมากกว่าเดิม

- Sealed Classes AS 3.0 ได้นำหลักการของ Sealed Classes มาใช้ โดย Sealed Class จะทำการกำหนดให้ Class ที่ถูกสร้างขึ้นไม่สามารถขยาย Properties และ Methods ในขณะ Compile Time ข้อดีคือ ใช้ Memory ได้อย่างเต็มประสิทธิภาพ เนื่องจากไม่ต้องทำการสร้าง Hash Table ไว้ภายใน เพื่อรองรับการอ้างถึงจาก Instance ของ Object นั้นๆ โดยทั่วไปแล้ว Class ที่ถูกสร้างขึ้นภายใน AS 3.0 จะถูกกำหนดให้ใช้ Sealed Class โดยปริยาย แต่ คุณก็สามารถสร้าง Dynamic Class ได้จาก dynamic keyword.

- Method closures AS 3.0 เปิดให้มีการใช้ Method Closure โดยอัตโนมัติ ข้อดีคือ มันสามารถจดจำ Object ต้นแบบของมันได้ ซึ่งข้อดีข้อนี้เองจะเป็นประโยชน์สำหรับ event handling แต่ใน AS 2.0 Method Closure จะไม่จำว่ามันมี Object ต้นแบบมาจากไหน ขยายต่อมาจากที่ Class ใด ซึ่งมันจะใช้ Method Closure ก็ต่อเมือมันถูกเรียกใช้งานเท่านั้น

- ECMAScript for XML(E4X) AS 3.0 ใช้มาตราฐาน ECMA-357 ซึ่งเป็นภาษาที่ออกแบบมาเพื่อจัดการ XML ซึ่งรวมไปถึง XML-pasing APIs ที่เอาไว้ตรวจสอบ XML โดยเฉพาะ ผมจะสรุปข้อมูลโดยละเอียดให้อีกทีตอนหลังครับ...

- Regular expressions AS 3.0 รวมเอา Regular expression ไว้ไนด้วยเพื่อใช้ในการค้นหาตัวอักษรโดยเฉพาะ ซึ่ง Support ใน AS 3.0

- Namespaces จะเป็นเครื่องมือหลักเลยใน Universal Resource Identifier (URI) และ ใช้ใน XML รวมไปถึงใน E4X ด้วย

- New primitive types AS 2.0 นั้นมีแต่ Number ที่เป็นทั้ง จำนวนเต็ม แะล จุดทศนิยม ส่วนใน AS 3.0 ได้ทำการแยกออกเป็น int และ uint
- int ขนาด 32-bit ตัวเลขที่ติดลบ เพื่อเพิ่มประสิทธิภาพ และ ความเร็ว ในการคำนวณทางคณิตศาสตร์ของ CPU ใช้ประโยชน์ในการควบคุมการเวียนซ้ำ (Loop) และ ตัวแปรชนิด Interger เป็นต้น
- uint ขนาด 32-bit ตัวเลขไม่ติดลบ ใช้สำหรับการกำหนดค่าสีของ RGB เป็นต้น

Flash Player API
Flash Player API ใน AS 3.0 จะประกอบไปด้วย Class ใหม่ที่ยอมให้คุณเข้าถึงในระดับล่าง ซึ่งเปลี่ยนแปลงไปจากเดิมเยอะที่เดียวเรามาดูส่วนที่เปลี่ยนแปลงไปกันดีกว่า

- DOM3 event model Document Object Model Level 3 จัดเตรียมช่องทางในการสร้าง และ ควบคุมเหตุการณ์ Object ใน Application สามารถติดต่อสือสารกันได้ ภายหลักจากเปลี่ยนมาใช้ World Wide Web Consortium DOM Level 3 ในการกำหนด Event Specification ทำให้เข้าใจได้ง่ายกว่า มีประสิทธิภาพมากกว่า AS เวอร์ชั่นก่อนๆ

- Display list API มีให้อยู่แล้วใน Flash Application ซึ่งแสดงให้เห็นในลักษณะ Visual Element สามารถเรียกใช้ได้เลย

- Handling dynamic data and content AS 3.0 รวมเอากลไกในการควบคุมการ loading และ handling ข้อมูลภายใน Flash Application ซึ่งสามารถเรียกใช้ผ่านไปยัง API ก็ได้ และตัว Flash เองได้ จัดเตรียม Class เอาไว้ให้ ไม่ว่าจะเป็น Loader class, URLLoader class, Socket class เป็นต้น

- Low-level data access API ในระดับ Low-Level ได้ถูกจัดเตรียมเอาไว้ให้พร้อมใช้งานได้ผ่านทาง AS 3.0 เช่น URL Stream class ถูกใช้งานใน URLLoader และ Sound API จะประกอบไปด้วย SoundChannel และ SounMixer class ซึ่งเป็น class ในระดับ Low-Level และ ยังมี API ใหม่ที่เอาไว้ควบคุมการ Load SWF File หรือ ข้อมูลที่ต้องการความปลอดภัยสูง

- Working with text AS 3.0 รวมเอา flash.text package เอาไว้สำหรับจัดการกับ Text โดยเฉพาะเช่น TextLineMetrics class ใช้จัดการ Text ใน TextField แทนที่ TextField.getLineMetrics() ใน AS 2.0 และยังมี Class ในระดับ Low-Level อีกเยอะเอาไว้จัดการ Text ที่ AS 3.0 เตรียมเอาไว้ให้

ความเข้ากันได้กับ AS เวอร์ชั่น
โดยทั่วไปแล้ว Flash Player นั้นสามารถที่จะเข้ากันได้กับ AS ทุกเวอร์ชั่นก็จริงแต่ก็มีข้อจำกันอยู่เหมือนกันซึ่งก็ควรที่จะรู้เอาไว้ด้วย
- ไม่สามารถเขียน Code ในแบบ AS 1.0 หรือ AS 2.0 ใน AS 3.0
- AS 3.0 สามารถ load SWF file ที่ถูกเขียนโดย AS 1.0 และ AS 2.0 ได้แต่ไม่สามารถอ้างถึงตัวแปรหรือฟังค์ชั่นที่อยู่ภายในได้
- AS 1.0 และ AS 2.0 ไม่สามารถ load SWF file ที่เป็น AS 3.0 ได้ ซึ่งก็รวมถึง Flash 8 และ Flex Builder 1.5 ด้วย
- Code ของ AS 1.0 และ AS 2.0 นั้นไม่สามารถนำมาใช้กับ AS 3.0 ได้ เนื่องจากการปรับและโยกย้าย Class ต่างๆ

Picture 1.1
ตารางเปรียบเทียบระหว่าง AS 1.0, AS 2.0 และ AS 3.0

ในบทต่อไปผมจะเริ่มพูดถึงในส่วนของ AS 3.0 ในส่วนของการเขียนโปรแกรมแล้วนะครับ

Adobe Flex-Ajax Bridge

posted on 15 May 2007 15:28 by coreflash  in Flex

จากความนิยมในการใช้งาน Ajaxในปัจจุบัน ประกอบกับความคล่องตัวในการพัฒนา และ Ajax ยังกินทรัพยากรของระบบน้อยซึ่งข้อดีข้อนี้เองที่เป็นเหตุให้ Adobe Labs ได้พัฒนาช่องทางในการติดต่อไปยัง Ajax ด้วย External API (the ExternalInterface class) ซึ่งมีอยู่แล้วใน Adobe Flash Player

External API (ExternalInterface class) เอาไว้ใช้ในการเรียกไปยัง JavaScript ที่อยู่ใน HTML File โดยทำการเรียกผ่านทาง ActionScript แต่ External API เองมีข้อจำกัดในการใช้งานดังนี้
1.External API ต้องการมากที่สุดก็คือ คุณ หรือ นักพัฒนาที่สามารถสร้าง Library ขึ้นมา เพื่อจัดการการทำงานต่างๆระหว่าง ActionScript และ JavaScript
2.External API จำกัดให้คุณสามารถเข้าถึงภายใต้ช่วงที่กำหนดเอาไว้เท่านั้น
3.External API เปิดให้คุณกำหนดการติดต่อถึงกันได้ ดังนั้น JavaScript ของคุณสามารถเรียกใช้ ActionScript ที่คุณได้เขียนเอาไว้ได้ -- FABridge ทำให้คุณสามารถเขียน JavaScript แทนการเขียน ActionScript ได้

ดูตัวอย่าง ได้ที่นี้ครับ คลิ๊กแรงๆครับ หมายเหตุ คุณต้องมี Flash Player 9 ด้วยครับ

เมื่อไรล่ะที่คุณควรจะใช้ Flex-Ajax Bridge ?
FABridge จะตอบโจทย์การใช้งานของคุณมากที่สุดก็ต่อเมื่อ คุณต้องการใช้งาน Flex Component ใน Ajax แต่คุณไม่ต้องการเขียนโค้ดทั้งหมดด้วยFlexหากเป็นเช่นนั้นจริงละก็ FABridgeช่วยให้คุณสามารถย้ายการเขียนโค้ดทั้งหมดของคุณ ให้เป็นแบบ JavaScript ที่คุณถนัด

การเรียกใช้ Flex Components ด้วย ActionScript จะง่ายมากๆ หากพัฒนาด้วย Adobe Flex Builder แต่ไม่ได้ง่ายเลยสำหรับการเขียนโค้ดด้วย JavaScriptและการเรียกใช้ในบ้างครั้งด้วย JavaScript จะไม่สามารถทำได้ทันที เช่น การเขียนJavaScriptในonloadของ Body Tagจะไม่สามารถทำงานได้ทันที หาก Swf File นั้นยัง Load ไม่เสร็จ

ด้วยเหตุนี้เอง ถ้าจะพัฒนา Applicationด้วยFlex และ Ajax คุณจะต้องคำนึงถึงความเหมาะสม และ ข้อจำกัดในการพัฒนา Application นั้นๆ ด้วย

ที่มา Flex-Ajax Bridge


edit @ 2007/05/16 16:02:39

Adobe Flex:Open Source

posted on 04 May 2007 10:51 by coreflash  in Flex

Adobe Flex มาตราฐานภายใด้ระบบเปิด

จาการที่ทาง Adobe ได้ออกมาประกาศในหน้า Flex:Open Source ให้ Flex เป็น มาตราฐานแบบเปิด หรือ OpenSource ภายใต้ Mozilla Public License (MPL). ครอบคลุมถึง

This includes not only the source to the ActionScript components from the Flex SDK, which have been available in source code form with the SDK since Flex 2 was released, but also includes the Java source code for the ActionScript and MXML compilers, the ActionScript debugger and the core ActionScript libraries from the SDK. The Flex SDK includes all of the components needed to create Flex applications that run in any browser - on Mac OS X, Windows, and Linux and on now on the desktop using Apollo.

Developers can use the Flex SDK to freely develop and deploy Flex applications using either Adobe Flex Builder or an IDE of their choice.

ลองแปลกันดูนะครับ.

หากการเปลี่ยนแปลงครั้งนี้ ได้รับการตอบรับจากทางกลุ่มผู้พัฒนา จะทำให้ Flex ถูกนำไปใช้ในวงกว้าง รวมถึงการได้รับการพัฒนาอย่างต่อเนื่อง และจากการ Open Source ของ Flex นี้เอง เราอาจจะได้เห็น Application จากการพัฒนาภายใต้ Flex อีกเยอะเลยครับ

แล้วมันมีอะไรเกี่ยวกับ Blog ของผม ที่พูดถึงแต่ Flashล่ะครับ ?
ที่มันเกียวนี้มันมาจากตัว AS3 (ActionScript 3.0) ตัวนี้ล่ะครับที่เกี่ยว เพราะว่าเมื่อ AS3 เป็นมาตราฐานเปิด (Open Source)เราจะได้พวก Libs ต่างๆ ที่เอามาใช้ได้ อันนี้ซิครับที่น่าสนใจ

จากการที่ผมได้อ่านข่าวจากแหล่งต่างๆ หลังจากการออกมาของ Adobe CS3 ของทาง Adobe นั้น และการปล่อยให้ Flex เป็น Open Source นี้ ทำให้คนที่มาศึกษา AS3 เพียงตัวเดียวแต่สามารถนำไปใช้กับ Application ของทาง Adobe หลายตัวอาทิเช่น Flash , Apollo และตัวอื่นๆ ที่จะตามมาอีกในอนาคต

ความคิดเห็นส่วนตัวนะครับ
ถ้าถ้า AS3 ได้รับความนิยมจริงๆ หรือมีคนใช้เยอะมากๆ เราอาจจะได้เห็น AS3 เป็น Application ที่ฝังตัวอยู่ใน Application ของทาง Adobe เลยก็เป็นไปได้ครับ เหมือน VB ของทาง MicorSoft แค่คิดเล่นๆ เอามันส์ครับ ไม่มีอะไร.


edit @ 2007/05/16 13:36:37

AS3 ความเหมือนที่แตกต่าง 2

posted on 27 Apr 2007 18:11 by coreflash  in AS3

จากครั้งที่แล้วที่ผมได้พูดเอาไว้ถึงการโยกย้ายหรือการรวม Package เอาไว้ด้วยกันเพือความง่ายต่อการเรียกใช้ตอนนี้ผมเอา link ที่รวมเอาการโยกย้ายทั้งหมดเอามาให้แล้วครับ

http://livedocs.adobe.com/flex/2/langref/migration.html

ถ้าใครที่ลง Adobe Flash CS3 เอาไว้สามารถเข้าไปดูใน Help ได้ครับจะอยู่ที่

+ ActionScript 3.0 Language and Components Reference
+ Apendixes
- ActionScript 2.0 Migration

คราวต่อไปมาเริ่มเขียน AS3 กันเลยดีกว่าครับ
edit @ 2007/05/16 13:38:32