ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)

2005-07-18

A day with Web/DB application frameworks

Ruby on Rails is on the highlight (อ่าน pok's blogger มีเรื่องนี้เยอะ พร้อมตัวอย่างจริง).

For Python, there's Subway, Django, and SQLObject. — For PHP, there're Cake and PHP on Trax. — Java, Trails. — Groovy, Grails. — .NET, MonoRail.

Most of them are Rails-inspired (well, Cake itself aggressively claims it's actually a rip-off!)

นั่งเขียนเว็บบอร์ดใหม่เล่น ๆ ดีกว่า จะได้ลองหัดพวกนี้มั่ง

ยังไงก็ตาม ถ้าต้องเลือกใช้จริง ๆ คงไม่พ้นตัวที่ใช้ PHP, Python หรืออาจจะ Java.

ทำไม ? ก็เพราะ โฮสติ้งทั้งหลาย ส่วนใหญ่ที่เจอ ๆ มา มันใช้ได้แค่นี้น่ะ (PHP นี่เกือบทุกที่, Python ก็เยอะขึ้นละ Java นี่ก็เยอะ แต่แพงกว่าชาวบ้านหน่อย)

Ruby (and Rails) weakness: not very widespread in entry-level (cheap) hosting plans. [search "ruby hosting"]

จะเป็น web app แต่ไม่ค่อยมี web hosting มันก็แย่หน่อยอ่ะนะ

update: ลอง Cake 0.9.1 แล้ว ยังมีบั๊กอยู่, Tutorial ที่มีอยู่ก็สำหรับรุ่นเก่า ใช้กับ 0.9.1 ไม่ได้. รุ่น 0.9.2 กำลังจะออก อีกไม่นาน

2 comments:

vee said...

พวก Java นี่ต้องทำภาษาที่ support
dynamic binding ขึ้นมาบน JVM อีกที ทุก project เลยใช่เปล่าครับ?

Web hosting ในญี่ปุ่นจะ support Ruby บ้างเปล่า? ( เพียงแต่จินตนาการ )

polawat phetra said...

feedback จากการเข้าไปดูคร่าวๆ

django
หน้าจอที่แสดงใน tutorial เขาออกแบบหน้าจอสวยดีนะ (มีกลิ่นอายของ mac)
ตัว model มีการประกาศ meta data ไว้ชัดเจนกว่า rails
(sqlobject ก็มีแนวทางเดียวกัน)
ที่น่าสนใจก็คือ ใน tutorial มีพูดถึงประเด็นการ initialize database
ซึ่งจะมีการสร้าง core database tables ของ django ขึ้นมาด้วย
น่าสนใจตรงที่ว่า ตรงนี้จะใช้เก็บอะไร

cake
เหมือนฝาแฝดของ rail เลย
ไม่ว่าจะเป็น directory structure, การตั้งชื่อ, url

grails
มาตาม style ของพวก java (ซับซ้อน)
ดูซับซ้อนเมื่อเทียบกับ rails
มี layer ของ service เพิ่มขึ้นมาอีกชั้น
และใช้ concept injection ในการ assign service
ให้กับ controller ด้วย

trails
เคย load มาลองเล่นเหมือนกัน
แต่ดูเหมือนจะทำได้แค่ crud ง่ายๆ
(ไม่ยืนยันนะ เพราะเห็นแต่เอกสาร tutorial
ซึ่งยังไม่ได้พูดถึงประเด็น customize เลย)