วันนี้มีภาษาใหม่มาว่าให้ฟังอีกแล้ว มันคือ haXe มาดูกันดีกว่า ว่า haXe มันเป็นยังไง
haXe เป็นภาษา OO ระดับสูง(high-level) โดยที่มันจะช่วยให้โปรแกรมเมอร์ในการพัฒนา website และ web application ซึ่ง haXe ได้ถูกออกแบบมาเพื่อให้ง่ายกับการโยกย้ายการทำงานแบบข้าม platforms โดย haXe compiler จะสนับสนุน platforms ดังต่อไปนี้
- JavaScript: เราจะสามารถ generate ไฟล์ .js จาก class ของ haXe เรายังสามารถเข้าถึง DHTML API ได้เหมือนๆ กับที่เราใช้ crossbrowser อย่าง Xml, Date หรือ XmlHttpRequest... แล้ว haXe ยังเป็นหนึ่งในภาษาที่สามารถพัฒนา AJAX ได้อีกด้วย
- Flash: haXe สามารถ compile ตัว swf สำหรับ flash player 6-9 ภาษานี้ยังมีสุดยอด feature และยังเป็นภาษาที่ strict และ dynamic ในเวลาเดียวกัน การใช้ haXe ในการเพิ่มตัวงานยังได้เอาไปเปรียบเทียบกับ ActionScript ด้วย ตัว Flash APIs ก็ไม่มีการเปลี่ยนแปลงใน haXe ดังนั้น สำหรับใครที่มีความคุ้นเคยกับ ActionScript แล้ว ก็ไม่มีปัญหามาก และการเอา code ที่ทำไว้แล้วใน Flash มาใช้ใน haXe ก็ไม่มีปัญหาอะไร
- Neko: haXe ยังสามารถ compile ตัว bytecode ซึ่งสามารถ run ได้บน Neko Virtual Machine ตัวโปรแกรมของ haXe ยังสามารถ run ได้บน Apache (โดยการใช้ mod_neko) ซึ่งเราสามารถพัฒนาตัว server-side ของเราได้โดยใช้ haXe นี่แหละ ตัว haXe ยังเข้าถึง Neko libraies อย่าง filesystem, network, databases... และอีกตรึม ตั้งแต่มันถูกต่อเติมจาก library ที่เพิ่มเข้ามา มันยังสามารถพัฒนา app ที่ใช้บน desktop ได้อีกด้วย
haXe Features
syntax ของ haXe จะคล้ายๆ กับ Java/JavaScript/ActionScript มัน Based on ECMAscript ถ้าใครใช้ภาษาพวกนี้ก็สบายไป เพราะมีความคุ้นเคยอยู่ก่อนแล้ว ส่วนเรื่องของตัวบรรณาธิกร(มันคือ text editor ขอใช้คำไทยสวยๆ หน่อย) ก็ยังใช้ได้ตามที่ตัวเองชอบ หรือจะใช้ IDE ก็ไม่เกี่ยง
ตัว tpye system ก็เป็นชนิดที่แน่นอน มันจะช่วยให้ตัว compiler ตรวจจับ error ได้ในขณะ compile-time แต่ในขณะเดียวกัน มันก็ยังทำตัวเป็น dynamically typed language คือเราไม่จำเป็นจะต้องประกาศ data type ในทุกๆ ครั้งไปในขณะที่เราจะเอา security ของ strictly typed language
ตัว Library หลัก เช่น Date, XML หรืออื่นๆ ถูกกำหนดให้เหมือนๆ กันใน platforms ทุกๆ อัน ซึ่งมันจะทำให้เราสามรถ reuse class ต่างๆ ได้อย่างสบายๆ
haXe ยังง่ายต่อการต่อเติม: เรายังสามารถเพิ่ม library ของเราได้อีก โดยที่เราสามารถระบุไปได้ว่าให้มันใช้กับ platform ไหน
มันยังมี Remoting library ซึ่งเป็นการเตรียม serialization ของ platform ต่างๆ รวมไปถึง RPC ด้วย ซึ่งเราจะสามารถเรียก method ต่างๆ ข้าม platform ได้(อันนี้เจ๋งงง)
มันยังสามารถพัฒนา application บน Desktop โดยใช้ SWHX
และ haXe ยังเป็น Open Source software ที่มี community ที่รวบรวม programmer ที่กำลังทำ haXe อยู่อีกด้วย
Conclusion
haXe เป็น Toolbox(ในเว็บเขาใช้คำนี้) สำหรับ web developers เริ่มที่ตัว compiler นั้น รองรับ platform ต่างๆ ตามที่เราเห็นเหมาะสม โดยที่เราไม่จำเป็นจะต้องมาเรียนรู้ภาษาใหม่ๆ ถึงแม้ว่า haXe จะสามารถใช้ได้บน client หรือ server ที่ทำให้สิ่งต่างๆ ง่ายขึ้น แต่มันก็ยังอาจจะถูกใช้บน client หรือ server อย่างใดอย่างหนึ่งอีกด้วย ก็แล้วแต่เรา ว่าเราคิดว่าอย่างไหนมันเหมาะสม
เพิ่มเติมได้ที่
Documentation
Language Reference
Community
ข้อมูลจาก http://www.haxe.org/intro
แก้ไขล่าสุด วันที่ 17 กรกฏาคม 2550 เวลา 21.54 น.