Reference
สัมภาษณ์สด กับคุณ Adobe Coldfusion
Feb 18th
มาพักหลังๆ นี่ดาราในวงการพัฒนา Web application ต่างก็ออกมาเฉิดฉายระยิบระยับให้พวกเราตาลายเล่นๆ นะครับ โดยส่วนมากก็จะเป็นฝั่ง Client หรือที่พวกเราเรียกกันง่ายๆ ว่าฝั่ง Front-end อย่าง Silverlight ของ Microsoft, JavaFX ของ Sun และ Flex framework ของ Adobe
แต่จริงๆ แล้วมีอีกคนหนึ่ง ที่ถ้าเปรียบเทียบความใหญ่แล้ว เขาก็จะประมาณดาราฮอลลีวู้ดอย่าง จอร์น ทราโวต้า หรือ ทอม ครูส ที่ออกมาปรากฎตัวทีหนึ่งก็จะมาพร้อมกับความ “ใหญ่และหนัก” เสมอ นั่นก็คือคุณ Adobe Coldfusion นั่นเอง ซึ่งวันนี้เราเชิญเขามาสัมภาษณ์เกี่ยวกับเวอร์ชั่นใหม่ของเขา และจะได้เล่าถึงพื้นเพของเขากันด้วย More >
7 days remaining for Adobe Flash Builder 4 Beta 2?!
Nov 30th
สำหรับพวกเราที่ชอบลองของใหม่ๆ (แต่ยังไม่พร้อม) อย่างพวก release beta ทั้งหลาย ก็คงจะได้ลอง Flash Builder beta 2 กันถ้วนหน้าแล้ว ก็รู้สึกว่าอึ้งพอสมควรทีเดียว ว่ามันมีการ improve feature ต่างๆ ให้พร้อมสำหรับ developer อย่างแท้จริง
ตอนนี้ก็กลับมาฉุกคิดได้ที่ว่า ตอนเข้าโปรแกรม มันก็เริ่มขึ้นหน้าจอมาเตือนผมแล้วว่า “ตอนนี้เหลืออีก 7 วันนะ ก่อนที่ตัวของฉันจะ expire”
…เออ มันเข้าสู่ช่วงปลายปีที่ Adobe เขาสัญญาเป็นมั่นเป็นหมายว่าจะ Adobe Flash builder ตัวสมบูรณ์ จะแล้วเสร็จแล้วนี่เนอะ ดังนั้นถ้านับไปอีกช่วง 7 วัน มันก็คือสัปดาห์ที่ 2 ของเดือนธันวาที่แหละครับ แต่ใครจะรู้พรุ่งนี้อาจจะมีอะไรที่ทำให้ Happy ออกมาให้พวกเรายลกันก็ได้ (ครั้งที่แล้วก็ release ก่อนกำหนด ไปอาทิตย์หนึ่ง)
แง้มกล่อง Adobe Flash Player 10.1: “Multitouch” and “Accelerometer”
Oct 20th
ถ้าพวกเราจะนับตั้งแต่การมาถึงของ iPhone จากพี่ Steve Jobs นั้นเป็นจุดเริ่มต้นของคลื่นลูกใหญ่ที่จะถาโถมเข้าใส่โลก IT ละก็ คลื่นลูกนั้นก็ยังคงพัดกวาดทุกมุมของโลกเราอย่างต่อเนื่อง แถมยังล้ำเข้าไปยังดินแดนอื่นอย่าง NoteBook ซะด้วย จุดเด่นของมันก็คือ Multi-touch หรือการที่ผู้ใช้เอานิ้วมากกว่าหนึ่งมาควบคุมการทำงานของอุปกรณ์นั่นแหละครับ ซึ่งในเมื่อโลก IT ส่วนใหญ่ขานรับระบบควบคุมตัวทองนี้ Adobe ก็จะนิ่งนอนใจได้อย่างไร การที่ Adobe หายไปเงียบๆ หลังจาก CS3 และ CS4 นั้น ก็ได้กลับมาพร้อมกับกำลังรบหน่วยใหม่ อย่าง Adobe Flash Platform (เกิดจากการปรับเปลี่ยน และยุบรวมกันจากของเดิม) ดั่งเทพสงครามที่ทะยานเข้าสู่สนามรบที่กำลังรบราอย่างสง่างามทีเดียว (ตอนนี้นะ)
แล้วเกี่ยวยังไงล่ะ?
ก็เพราะว่า Adobe ได้เข้าร่วมกับ Open Screen Project (จากข่าว Blognone ที่นี่ และ ที่นี่ รวมถึงการประกาศอย่างเป็นทางการ ที่นี่) มาตั้งแต่ปีที่แล้ว โดยทำการเปลือยหลาย spec ให้กับ partner ในการ port ขึ้น Platform Mobile และอื่นๆ ได้อย่างรวดเร็ว ผลประโยชน์แก่เราๆ ก็คือ Flash Player จะมีความสามารถในการทำงานกับระบบ Multitouch และ accelerometer ของมือถือ และ Notebook ที่สนับสนุนได้
Multitouch ใน Flash Player 10.1
แน่นอนครับว่า Adobe ต้องทำให้ง่ายในการทำงาน โดยจะมีการเพิ่ม event, ระบบในการตรวจจับการย่อ หรือขยาย, รวมถึงการตรวจจับการสัมผัสที่มากกว่า 2 นิ้ว หรือการตรวจจับ “ระดับของแรงกด” (โอ้ววววว แต่ก็เฉพาะ hardware ที่สนับสนุนนะครับ) ก็สามารถทำได้เช่นกัน ยกตัวอย่างให้เห็นกันชัดๆ ก็อาจจะเป็น Application Piano ที่คงต้องอาศัย feature ดังกล่าวในการตรวจจับว่าผู้เล่นเล่น Chord ไหน และกดแรงเท่าใด
Accelerometer ใน Flash Player 10.1
พิมพ์ยากจังคำนี้ แต่ก็ได้รับความสนใจอย่างท่วมท้นจากบรรดามือถือทั้งหลาย เอาไปติดเครื่องให้กับ product ของตัวเองกันตรึม อุปกรณ์ตัวนี้เอง Flash Player 10.1 ก็จะมาพร้อมชุดคำสั่งสำหรับอุปกรณ์นี้ด้วย (โอ้วววว ผมรัก Adobe) หากแต่น่าเสียดายที่ Adobe เขาไม่นิยมจะเพิ่มชุดคำสั่งนี้เข้าไปใน Desktop ด้วย โดยจะมีเฉพาะ Smartphone เท่านั้น
อย่างนี้ Flash จะมาแทนที่ Java Client ไหมเนี่ย?!
แง้มกล่อง Adobe Flash Player 10.1: “Global error handling”
Oct 12th

เนื่องจาก Adobe เขาภูมิใจอย่างยิ่งที่ได้รับฟังเสียงของชาวบ้านผู้ใช้ product ของเขา โดยรับฟังความคิดเห็น (และ bugs) ผ่านทาง Flash Player bug and issue management system (หรือในภาษาเราๆ คือระบบการจัดการ bug และปัญหาของ Flash Player นั่นเอง) โดยได้นำแนวทางเด่นๆ จาก community นี้เอง ทำให้ได้ feature ออกมาในเวอร์ชั่นใหม่ดังนี้คือ
- Global Error Handling
- Microphone Access
Global Error Handling
จำตอนที่เราใช้โปรแกรมอะไรสักอย่างแล้วจู่ๆ ก็มี หน้าต่าง “ปิ๊ง” ขึ้นมาด้วยกากบาทสีแดง หรือ เครื่องหมายต๊กกะใจสีเหลืองได้ไหมครับ? นั่นคือสภาวะที่เราเรียกว่า “แฮงค์” หรือ “เจ๊ง” หรือ “….แล้ว” เพราะโปรแกรมในสภาวะนั้นไม่สามารถทำงานต่อไปได้อันเนื่องมาจาก “บั๊ก” (บางทีผมก็เรียกว่า “แมง”) นั่นเอง (ถ้าไม่ได้เซฟงานบ่อยๆ น้ำตานองแน่นอน) ตัว Flash เองก็มีระบบที่ว่านี้เหมือนกัน จากนั้นทำไงต่อ? เราก็ copy แล้วเอาไป post ไว้ใน community ซักที่หนึ่ง นับวันคืนที่จะมีคนมาช่วยชี้แจงแถลงไข หรือรับรู้อะไรๆ ใช่ใหม?

โอววววว มันมาแล้วครับ
ต่อไปนี้ ทุกอย่างจะดีขึ้น
ระบบ global error handling นี้จะส่งผลดีต่อ developer ในสองด้านใหญ่ๆ ด้านแรกคือ developer อย่างเราๆสามารถเพิ่ม code global error handling นี้ลงไปใน application จากนั้นถ้าเกิดมี user คนหนึ่งในประเทศกัวเตมาลา กำลังใช้ app ของพวกเราแล้วมันรันไปถึงจุดเกิดบั๊ก (เกิดแมง) function นี้จะส่ง error ไปยัง server ที่คุณตั้งให้คอยรับ global error นี้ทันที! เท่านี้คุณจะสามารถ track bug ได้จากทุกมุมโลกในสภาวะที่ไม่สามารถทำได้ใน test environment เลยล่ะ
แต่จะดีจริงหรอ?
ดีสิ ดี แต่ว่ามีข้อสงสัยให้ฉุกคิดว่า มันจะไปแหย่กฎหมายสิทธิส่วนบุคคลบางฉบับไหมเนี่ย เพราะเป็นการถือว่าส่งข้อมูลออกจากเครื่อง user เหมือนกัน (แต่ Adobe คงใส่ลงใน user agreement แล้ว) และอีกอย่างคือ server system แบบไหนที่จะรับ bug report แบบนี้ได้ล่ะเนี่ย? อาจจะกลายเป็น product ที่ Adobe ขายอีกตัวก็ได้นะ
อะไรหว่า? SWC File ใน Actionscript 3
Aug 29th
หลังจากการเปลี่ยนแปลงเข้าสู่ AS3 สิ่งใหม่ๆ ก็ถาโถมเข้ามาหาพวกเรา จนแทบตั้งตัวไม่ติด ไหนจะเป็นการเขียน Actionscript แบบใหม่ ที่ปรับให้เข้าทาง developer มากขึ้น (พร้อมบังคับกลายๆ ให้เหล่า Designer รู้ว่า ถ้าจะใช้ Feature ใหม่ๆ ได้เต็มรูปแบบ ก็อ้าแขนรับ developer เข้ามาทำงานด้วยซะดีๆ) และสิ่งที่เพิ่มเข้ามาใหม่เอี่ยมนี่เลย คิดว่าน่าจะเป็นเรื่องของ SWC เป็นแน่แท้
SWC มาทำอะไรหน่ะ?
คำถามชุดแรกๆ ก็คงไม่พ้นประมาณนี้ ถ้าจะตอบเป็นกลาง กำปั้นทุบดินเลย ก็อาจจะพูดได้ว่า SWC file คือ “zip file ของ Adobe” นั่นเอง (ง่ายไหม?) เพียงแต่นอกจากลักษณะพื้นฐานที่บอกมาแล้ว Adobe ก็คงไม่ใช่จะสร้าง zip format ขึ้นมาอีกอันหนึ่งเล่นๆแน่นอน จุดประสงค์หลักของตัวมันคือเพิ่มความ “ง่าย” (เขาตั้งใจให้เป็นอย่างนั้นนะ) ในการเคลื่อนย้าย หรือแชร์ script file หรือ asset พวก graphic, video, และ Animation ต่างๆ ที่เราทำงานกับ Flash platform เป็นหลัก โดยการแพ๊ครวมเป็นไฟล์เดียวอย่างนั้นเลย ไม่ต้อง copy เป็น folder อีกต่อไป
ทำไมต้อง SWC?
ก็เพราะว่า Adobe ต้องการรุกเข้าสู่ตลาด developer ให้มากขึ้น (และคงเห็นว่า OOP มันเหมาะกับโลก developer มากกว่า ใครไม่เข้าใจ concept นี้รีบไปศึกษาซะนะ มีประโยชน์อย่างแรง) ก็เลยเปลี่ยนอะไรหลายๆ อย่างให้เหมาะกับโลกด้านนี้มากขึ้น เพราะตอนแรกๆ Macromedia และ Adobe ก็จะเทใจไปข้าง Post-production และ Designer ซะเยอะ โดย SWC file ก็จะคล้ายๆ กับ artifact ในภาษา programming ดังนี้
- DLL file (.NET)
- JAR file (Java)
และอีกเหตุผลหนึ่ง ก็คือการดัน Adobe Flex (ตอนนี้เปลี่ยนชื่อเป็น Adobe Flash Builder)เข้าสู่ตลาด โดยการแชร์ที่ง่ายขึ้นจะทำให้ การทำงานระหว่าง Flash CS4 กับ Flex ซึ่งเป็นด้าน hardcore application development กลายเป็นอันหนึ่งอันเดียวกันอย่างง่ายดาย
แล้วจะใช้ดีไหม?
อันนี้ขึ้นอยู่กับพวกเราแล้วล่ะ ว่าจะใช้ดี หรือไม่ดี (ฮา) สำหรับความคิดผมเอง ผมใช้ครับ เพราะการทำงานของผมจะเป็นด้าน coding เป็นส่วนใหญ่ แต่ทางเพื่อนผมทำ Flash เป็น ก็อาจจะทำ Animation แล้ว compile เป็น SWC file ส่งมาให้ผมเอาไปใช้ใน Flex application ก็สร้างความตื่นตาตื่นใจให้ลูกค้าได้ดีทีเดียว ในแง่ของเหล่า Actionscript developer ขอฟันธงว่า ใช้เป็นแล้วชีวิตจะมีความสุขขึ้นอีกมากเลยครับ (แต่ต้องชอบ AS3 ก่อนนะ
)

ของใหม่ๆใน Flash Builder 4 beta – Part 2: Enabling data-centric development
Aug 16th
คุณกำลังอ่านส่วนที่ 2 ใน 3 ของ “ของใหม่ๆ ใน Flash Builder 4 beta” ทั้งหมดมี 3 ตอน ตามรายการข้างล่างนี้ครับ
- Part 1: Improving designer/developer workflow
- Part 2: Enabling data-centric development
- Part 3: Making developer more productive
ตอนนี้เรามาถึงส่วนที่สองของ feature ใหม่ๆ ใน Flash Builder 4 Beta กันบ้าง โดย Adobe ได้ศึกษาการนำ Adobe Flex ไปใช้งานของลูกค้าส่วนใหญ่ พบว่าจะเป็นการทำไปใช้ในองค์กรโดยทำงานกับข้อมูลเป็นหลัก หรือนำไปสร้าง user interface เจ๋งๆ ในกับ ระบบ back-end เดิมที่อาจจะใช้ Adobe ColdFusion, Microsoft ASP.NET, Java, หรือ PHP รวมถึงการติดต่อกับพวก Third-party API ที่เป็น web service อย่าง REST หรือ SOAP ทาง Adobe เลยให้ความสำคัญกับส่วนการ ทำงานที่เกี่ยวข้องกับข้อมูลนี้มาก โดยใจความสำคัญคือ
ไม่ว่าระบบเดิมจะถูกสร้างขึ้นบน platform ใดๆ หรือบน technology อะไรก็ตาม ใจความสำคัญคือการทำงานกับ data หรือข้อมูล โดยการเชื่อมต่อกับแหล่งข้อมูลดังกล่าว และเชื่อมมันเข้ากับ Flex Component
ข้อความข้างบนคือใจความสำคัญของ feature ที่สองใน Flash Builder 4 ครับ โดยมุ่งเน้นไปที่ความง่ายและรวดเร็ว เหนือกว่าการทำงานแบบเดียวกันใน HTML
การทำงานของ Data centric development ใน Flash Builder 4 ประกอบไปด้วย 3 ส่วนใหญ่ๆ
- การระบุลักษณะหรือแหล่งที่มาของข้อมูล (defining a data/service model)
- เชื่อมต่อการทำงานเข้ากับ Flex component (binding service operations to Flex components)
- เพิ่มลักษณะการทำงานของข้อมูลแบบพิเศษ เช่น การทำ paging และ data-management
การสร้าง model และเชื่อมต่อข้อมูล หรือ service ที่ง่ายกว่าเดิม
Data/Service model เป็นวิธีการหนึ่งที่ถูกนำมาใช้ในการเชื่อมต่อและดึงข้อมูลจาก service ที่เรามีอยู่แล้ว ใน Flash Builder 4 Beta วิธีการนี้กลับมาโดดเด่นอีกครั้งครับ โดยเราแค่ให้ Flash Builder ทำการวิเคราะห์ logic ที่เรามีอยู่แล้ว ไม่ว่าจะเป็น ColdFusion component, PHP Classes, Java, หรือ web service โดยเราสามารถที่จะ binding ข้อมูลจาก service พวกนี้เข้ากับ Flex component อย่างง่ายดาย
Advanced data management features
แน่นอนว่าการพัฒนา application แบบ data-centric ต้องมีอะไรมากกว่าการ binding ข้อมูลเข้ากับ component แน่นอนครับ. Flash Builder สามารถช่วยคุณสร้าง client ที่สามารถจัดการข้อมูลได้อย่างง่ายๆ เช่นการ fetching ข้อมูลตามความเหมาะสมเพื่อการทำงานกับข้อมูลขนาดใหญ่, การติดตามการเปลี่ยนแปลงของข้อมูล, การอนุญาตให้ user ยกเลิกการเปลี่ยนแปลงก่อนหน้า, และการทำงานแบบ CRUD ที่ทั้งหมดนี้ปกติจะต้องทำการทำเองตั้งแต่ต้น ผลลัพธ์คือทำให้พวกเราสามารถนำเสนอข้อมูลให้กับ user เกินกว่าที่ HTML ธรรมดาทั่วไปจะทำได้
แล้วพบกันใน part 3 ครับ
ของใหม่ๆใน Flash Builder 4 beta – Part 1: Improving designer/developer workflow
Aug 8th
ที่มา: What’s new in Flash Builder 4 beta – by Tim Buntel
คุณกำลังอ่านส่วนที่ 2 ใน 3 ของ “ของใหม่ๆ ใน Flash Builder 4 beta” ทั้งหมดมี 3 ตอน ตามรายการข้างล่างนี้ครับ
- Part 1: Improving designer/developer workflow
- Part 2: Enabling data-centric development
- Part 3: Making developer more productive
เป็นที่ทราบกันดี ว่า Flash Builder 4 กำลังจะออกมาให้เหล่า Flex developer ได้ติดเครื่องใช้กันอีกครั้งในปลายปี 2009 นี้นะครับ ตามซุนวูว่าไว้ “รู้แต่เขา รบห้าสิบ ชนะห้าสิบ รู้แต่เรา รบห้าสิบ ชนะห้าสิบ รู้เขารู้เรา รบร้อยครั้ง ชนะร้อยครั้ง” ดังนั้น เรามาทำความรู้จักกับ Flash Builder 4 กันแต่เนิ่นๆ ดีกว่า ว่าจะมี feature อะไรใหม่ๆบ้าง โดยในแต่ละส่วนผมจะขอใส่ข้อคิดเห็นส่วนตัวลงไปด้วยนะครับ โดยขอขอบคุณ Mr. Time Buntel ที่สร้างบทความดีๆ มาให้พวกเราอ่านกัน เลยขออนุญาตแปลข้อมูลบางส่วนมา ณ ที่นี้
Focusing on new features
เนื่องจากมีการทำ wish list ขึ้นมาก่อนหน้านี้เพื่อเก็บ requirement จากผู้ใช้ Adobe Flex Builder 3 ก่อนหน้านี้ ทำให้ Adobe ทราบว่า การพัฒนา Flex application นั้นจะเกิดในกระบวนการพัฒนา 3 ขั้นตอนใหญ่ๆ ได้แก่ การออกแบบ (Design), การเขียนโปรแกรม (Coding), และการทดสอบ (Testing) ทำให้ Adobe ได้เพิ่ม feature เข้าไปในสามส่วนนี้ได้แก่
- ความต่อเนื่องในการร่วมมือกันทำงานของ designer และ developer (Designer/Developer workflow)
- การพัฒนาโดยยึดข้อมูลเป็นสำคัญ (Data-centric development)
- การปรับปรุง IDE และการทดสอบโปรแกรม (IDE productivity and testing)
Improving designer/developer workflow
เรื่องของเรื่องคือ application ในยุค web 2.0 ทำให้ designer เข้ามาร่วมวงพัฒนา software อย่างจริงจัง เพราะความสวยงาม น่าใช้ กลายมาเป็น feature หลักที่สามารถดึดดูดผู้คนเข้าสู่ web ของตัวเองได้อย่างล้นหลาม รวมถึงความที่จะทำให้ application มัน “ใช้งานได้ตามต้องการ” (Usability) ก็เป็นสิ่งที่ต้องคำนึงถึงมากทีเดียว ทำให้การพัฒนาร่วมกันแบบ ฉันวาด เธอเอาไป code เกิดขึ้นมาเป็นมาตรฐานที่เด่นชัดกว่าแต่ก่อนในแวดลง software development.
แต่ก็นั่นล่ะ ในเมื่อทั้งสองฝ่ายต่างก็มองความสวยงามคนละแบบ (คนหนึ่งมองภาพสวย อีกคนมอง code สวย) และเครื่องมือเครื่องใช้ ก็ไม่ได้ออกแบบมาให้การทำงานมันเข้ากันได้สักเท่าไหร่นัก การทำงานแบบร่วมมือกัน (Collaboration) โดยที่ยังคงความเข้ากันได้จากต้นฉบับ (Artwork ของ designer) กับตอนนำไปทำ interactive (Coding โดย developer) จึงเป็นปัญหามาหลายยุคสมัย จะเห็นได้ชัดจากการที่ designer ออกแบบ web site แต่เมื่อ developer เริ่มทำการ “ยำ” ให้หน้า web เป็น dynamic ความโกลาหลจะเกิดขึ้นหลังจากมีการเปลี่ยนแปลง design หรือ function การ coding
Adobe เลยเล็งเห็นจุดบอดตรงนี้ เลยคิดหาทางให้การทำงานระหว่าง Flex Builder ต้องสามารถเข้ากันได้กับชุดออกแบบ Creative Suite ของตัวเองให้มากที่สุด ก็เลยพุ่งเป้ามาที่โปรแกรมสำคัญคือ Adobe Flash Professional และ Adobe Flash Catalyst ทั้งสองของตัวเอง
New workflow
อย่างที่กล่าวว่า Flash Builder 4 ได้มีการพัฒนาส่วนที่จะช่วยให้การทำงานระหว่างตัวของมันเองกับ Flash Professional สะดวกมากขึ้น อย่างเช่น Flash Builder 4 จะมี component ใหม่ เช่น “New Flash Component” กับ “New Flash Container” ที่สามารถนำไปวางในส่วนต่างๆ ของ Application ได้เหมือนกัน component ทั่วไป จากนั้นเราก็สามารถ เปิด Flash Professional ได้โดยตรงเพื่อสร้าง หรือแก้ไขได้โดยตรงเลย จากนั้นก็สามารถ กด Done ยืนยันการแก้ไขเพื่อกลับมายัง Flex Builder ได้ทันที

จากภาพจะเห็นว่า เวลาเราเลือก Flash component ส่วนของ properties panel จะแสดงปุ่ม Create in Adobe Flash เพื่อให้เราสร้าง Flash content ได้โดยตรง
Adobe Flash Catalyst beta
น้องใหม่มาแรงอย่าง Adobe Flash Catalyst มีผลในการเปลี่ยนแปลง workflow การทำงานอย่างมาก โดยจุดประสงค์หลักของ Adobe Flash Catalyst นั้นคือการนำ Artwork จากการใช้ Creative Suite มาใช้ในการพัฒนา Rich Internet Application อย่างจริงจังนั่นเอง ซึ่ง Adobe มีการหมายมั่นเอาไว้ว่าน้องใหม่คนนี้จะทำให้การทำงานระหว่าง desiger และ developer ง่ายขึ้นอย่างที่ไม่เคยเกิดขึ้นมาก่อนเลยทีเดียว
(หากสนใจ อย่าลืมแวะไป download Adobe Flash Catalyst Beta มาลองใช้ดูได้นะครับ)
Mailbox: Flex ต่างจาก Flash อย่างไร?
Apr 2nd
มีเพื่อนๆ เขียนเมลล์เข้ามาถามนะครับ เห็นว่าเป็นคำถามที่น่าจะมีประโยชน์กับคนอื่นๆ ก็เลยขอเอามาเปิดซองที่นี่นะครับ
Q: โปรแกรม Flex คือโปรแกรมที่พัฒนาจากโปรแกรม Flash หรอค่ะ แล้วการทำงานของมันทำยังไง รบกวนช่วยตอบกลับด้วยนะค่ะ ขอบคุณค่ะ
A: Adobe Flex framework ในความหมายจริงๆ แล้ว (ในแง่ของ computer programming) คือชุดคำสั่งที่มีโครงสร้างของมันเองในการใช้ ActionScript 3 (เป็นภาษา script รุ่นล่าสุดของ Flash) สร้าง Web Application ขึ้นมาครับ
เปรียบเทียบง่ายๆ คือเหมือนการทำเพรสเซลของ Auntie Annesที่มีรสชาติพิเศษ (Flash application) กว่าเพรสเซลปกติที่เขาทานกันอยู่ทั่วโลกนั่นล่ะครับ (Adobe Flash) ซึ่งถ้าใช้สูตรของ Annes เขา (Flex framework) ก็จะทำเพรสเซลที่ดีได้เร็วและมีคุณภาพกว่าสูตรทั่วๆ ไปล่ะครับ
ดังนั้น Flex มีพื้นฐานเต็มๆ อยู่บน Adobe Flash นั่นล่ะครับ โดยต่อยอดเขามาอีกที
Flex จะแตกต่างที่การ coding ครับ โดยที่จะไม่เป็นภาษา script ที่ฝังอยู่ใน Timeline เหมือนกับ Adobe Flash แต่จะหนักไปทางโครงสร้างภาษาทาง computer programming คล้ายๆ กับ Java หรือ .NET C# เป็นส่วนใหญ่ แต่ผลผลิตที่เราจะได้คือ SWF ไฟล์เหมือนกับ Flash ครับผม
Flex speed – การใช้ Custom component ใน state ที่สร้างขึ้น
Mar 27th
สวัสดีครับ พอดีมีน้องคนหนึ่งถามว่า เราจะใช้ custom component ใน state ที่เพิ่งสร้างขึ้นมาได้อย่างไร ก็เลยทำเป็น video มาแบ่งปันกันนะครับ
ยินดีรับคำแนะนำครับผ้ม!
What lie beneath “useWeakReference”
Sep 17th
I just read the most surprise secret of addEventListener workflow, wrote by Ted. He explained the process if we have use the default value of ‘useWeakReference’ ( fault by default ). The garbage collector will not remove its in almost situation. This result can be raise more unexpected performance for our application.
In the other hand, if we set this argument with ‘true’ value, the garbage collector will found its, then remove it as fast as it’s possible (this will not break common rule of object-oriented programming language)
You can read more about Ted’s exposing here.
ความจริงที่น่าตกใจก็คือ เมื่อใดก็ตามที่พวกเรา ได้ทำการ addEventListener แล้วไม่ได้ set ค่าอะไรให้กับ argument ที่ชื่อ useWeakReference (ซึ่งค่า default ของมันคือ false) นั่นหมายความว่า instance ของ object ที่เรานำมา subscribe หรือในอีกทางหนึ่ง เรียกว่า การนำ functionของ instance นั้นมา เป็น listener นั่นเอง ดังตัวอย่างด้านล่าง
1: this.addEventListener( Event.EventName, foo.fooFunction );
อย่างนี้ล่ะครับที่จะมีการ garbage collect ใดๆ ทั้งสิ้น แต่ถ้าหากเราเปลี่ยนเป็น
1: this.addEventListener( Event.EventName, foo.fooFunction , true );
อย่างนี้ล่ะครับนาย garbage collector จะเฝ้ามอง reference ของ foo จากมุมมืด มีโอกาสเมื่อไหร่จัดการทันที


