Tags:
Node Thumbnail

Lew :: พอดีว่าช่วงนี้มีการ คุยกันเรื่องของ Applet vs. Ajax กันเยอะ เลยได้โอกาสดีที่ คุณ deans4j เขียนบลอคมาถามความคิดเห็นชาว Blognone ว่ามีึความเห็นในเรื่องนี้กันอย่างไรบ้าง เข้ามาแสดงความเห็นกันได้เต็มที่เลยนะครับ

จากกระทู้ Yahoo Beta ผมไปแซวเล่นนิดเดียว แต่กลับกลายเป็นการสะกิดแผลในใจของหลายคนเข้าจนกระทู้ออกทะเลกลายมาเป็นเรื่องความชั่วร้ายของ Applet ที่หลายคนพากันบ่นกัน

เอาเป็นว่า ฟังจากหลายคนสรุปได้ว่า ที่เกลียด applet เนื่องจากมีประสบการณ์อันเลวร้ายในวัยเยาว์กับมัน ตอน Java 1.1 ผมก็ปิดหนีเหมือนกันครับ : P แต่นั่นมันก็นานมากแล้ว

ณ วันนี้ส่วนใหญ่ที่ผมเห็น applet ตามเว็บต่างๆ จะออกแนวแอพลิเคชั่นที่เว็บทำให้ไม่ได้ และส่วนใหญ่ก็เป็นเรื่องเกี่ยวกับสิ่งที่ผมสนใจในเว็บนั้น ณ ขณะนั้นเป็นหลัก พูดง่ายๆ คือมันไม่ได้เอาไว้ใช้ประดับประดา ไร้สาระเอาเท่เอามันส์เหมือนแฟลช

จาวามีปัญหาเรื่อง startup time ครั้งแรกที่นานเกินไป ทำให้ภาพของมันเหมือนแอพลิเคชั่นนั้นมีขนาดใหญ่ เทอะทะ แต่จริงๆ แล้วมันไม่ใช่ ปัญหาอยู่ที่ VM มันยัง load class อยู่ต่างหาก เป็นเรื่องที่น่าอับอายของซัน ซึ่งที่ผ่านมาซันให้ความสนใจกับทางฝั่ง desktop และ usability ของผู้ใช้ค่อนข้างน้อย ต้องรอเวลาล่วงเลยผ่านไปจนมาถึง Java 5 ถึงพอจะเริ่มเห็นการตื่นตัวในเรื่องนี้มากขี้น แต่มันก็สายเกินไปแล้วที่จะกู้ศรัทธากลับมา

มา ณ วันนี้จากการติดตามกระแสข่าว ก็ถือเป็นข่าวดีที่ซันหันมาใส่ใจเรื่อง desktop มากขึ้นอย่างเห็นได้ชัดถ้าเทียบกับเมื่อก่อน จากการปรับตัวก็เริ่มเห็นการสนองตอบคำบ่นของผู้ใช้ในทิศทางที่ดีขึ้น และกว่าจะถึงวันที่อะไรมันลงตัวจริงๆ คงปาเข้าไป Java 7 Dolphin นู้น ซึ่งป่านนั้นเช่นเดียวกัน เทคโนโลยีคู่แข่งอย่าง AJAX, XUL, XAML ก็คงมีการพัฒนาขยับหนีไปอีกขั้น

กลางปีหน้าซันสัญญาว่าจะโอเพ่นซอร์ส Java อย่างเต็มตัว และการกระทำครั้งนี้อาจส่งผลกระทบให้การพัฒนาจาวาเป็นไปอย่างก้าวกระโดดก็ได้ ไม่แน่ป่านนั้น Applet อาจจะฝืนคืนชีพเร็วกว่าที่คิด กอปรกับเมื่อ Swing เองก็จะเก่งขึ้นและง่ายขึ้นมากตามมาพอดี จนใครๆ ก็อยากจะกลับไปใช้มันก็เป็นได้

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

Get latest news from Blognone

Comments

By: tr
Writer
on 21 October 2006 - 02:50 #10867

ก็นะ... หลังจากที่ภาพของมันออกมา negative มาก คนใช้เลยน้อยลง

แต่ก็ยังพอมีนิดๆ

By: sirn
WriteriPhone
on 21 October 2006 - 10:52 #10872

Java Applet เดี๋ยวนี้มันยังเอเลี่ยนหรือเปล่าครับ หมายถึง พยายามทำ Applet ให้หน้าตาเหมือน Desktop App มากกว่าจะเป็นหน้าตาบนเว็บ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 21 October 2006 - 12:25 #10874
lew's picture

อย่างที่ผมตอบไปในกระทู้นั้นนะครับ ส่วนตัวแล้วผมยอมรับว่าในเวอร์ชั่นหลังๆ แล้วความเร็วในการใ้ช้ Applet นั้นอยู่ในระดับ "ยอมรับได้" โดยเฉพาะถ้าเอาไปเปรียบกับเว็บที่ใช้ Ajax แบบโหดๆ อย่าง Yahoo! Beta ไม่ว่าจะเป็นเพราะ Java มันเร็วขึ้นเอง หรือ เครื่องผมเร็วขึ้นทันจาวา

แต่เรื่องสำคัญกว่าคือการทำ Automate Test เพราะกระแส Automate Test นั้นมาแน่ (จริงๆ มันมานานแล้ว) ไม่ว่าจะเป็น Extreme Programming หรือ Agile Development ต่างๆ

ขณะที่โซลูชั่นการทำ Automate Test ให้กับ Ajax นั้นแทบไม่ต่างจากการทดสอบ HTML ปรกติ แต่กับ Applet แล้ว ถ้าต้องการทำ Acceptance Test ที่ต้องทดสอบระบบรวม ผมนึกไม่ออกเลยว่าจะทำยังไง

ตรงนี้ปัญหาของ Flash ก็มีเหมือนๆ กัน ผมจึงไม่ชอบการใช้ Flash มากไปกว่าการทำ "ภาพสวยงาม" ในเว็บ ------ LewCPE


lewcpe.com, @wasonliw

By: lew
FounderJusci's WriterMEconomicsAndroid
on 21 October 2006 - 14:16 #10877
lew's picture

อ้อ ขออนุญาตลบ Tags ออกนะครับ พอดีเป็น Bug ของโมดูล ตามปรกติแล้วเวลา demote ต้องถูกลบ Tags ออกอยู่แล้ว ------ LewCPE


lewcpe.com, @wasonliw

By: deans4j on 21 October 2006 - 16:04 #10879

lew- ถ้าจะทำ usability test กับ Applet ด้วยวิธีการ capture/replay สำหรับ AWT/Swing UI สามารถทำได้ง่ายๆ โดยการเขียนโปรแกรมผ่าน class Robot ที่ซันมีให้อยู่แล้ว โดยมันสามารถ generate event ต่างๆ ใน application ตามคำสั่งที่เราเขียนได้ tool สำหรับเรื่องนี้ก็มีเยอะแยะไปถ้า google ด้วยคีย์เวิรดว่า java swing capture/replay tool

นอกจากนี้พูดถึง automate testing แล้วถ้าเทียบกันในเรื่อง unit test, integrate test ของโปรแกรม มันน่าจะง่ายกว่า ajax, Flash เยอะ และถือเป็นข้อได้เปรียบประเด็นนึงเลยด้วยซ้ำ เพราะ Java ก็มี driver tools มากมายสำหรับทำ testing ในรูปแบบต่างๆ

ปรึกษานิดนึงว่า ถ้ากรณี blog เนื้อหาประมาณนี้ เอาขึ้นหน้าแรกได้หรือเปล่า?

By: OHM
WriteriPhoneAndroidWindows
on 21 October 2006 - 20:04 #10893

ถ้าให้ผมออกความเห็นในฐานะ Developer ผมชอบ Applet มากกว่า แต่ถ้ามีคนเขียน Web App ให้ผมใช้ แล้วผมเป็นผู้ใช้งานอย่างเดียวผมชอบ Ajax มากกว่า

เวลาเขียน Ajax ผมรู้สึกว่างานมันหนักขึ้นประมาณ 5 เท่าได้เลยมั๊ง เหมือนกับว่าเราต้องลงนรกเพื่อให้ user ได้ขึ้นสวรรค์.....

บางครั้งก็เลย.... เอ่อ พวก u ลงนรกหน่อยได้มั๊ยให้อั้วขึ้นสวรรค์บ้าง

By: lew
FounderJusci's WriterMEconomicsAndroid
on 21 October 2006 - 21:52 #10898
lew's picture

deans4j - ผมยอมรับว่าในระดับ unittest ที่ทดสอบแค่ applet เปล่าๆ นี่ตัวจาวามันเก่งจริงครับ แต่่ถ้าเป็น Integration Test หรือ Acceptance Test ล่ะครับ

ถ้าผมต้องการทำ Automate เช่นหน้า login เป็น html form แล้วเข้ามาเจอ Applet อะไรอย่างนั้น เวลาทำ Acceptance Test ก็ต้องโชว์ตลอดกระบวนการ ตั้งแต่ Login ไปถึง Logout อยู่แล้ว อย่างนั้นมันมีทางทำ Automate รึเปล่าครับ?

เรื่องเอาขึ้นหน้าแรก ที่เอาขึ้นไปเลยแล้วกัน ถือเป็น Ask Blognone ------ LewCPE


lewcpe.com, @wasonliw

By: พี่ไท้ on 21 October 2006 - 22:34 #10900

ผมว่า sun microsystem น่าจะนึกออกตั้งนานแล้วนะว่า java applet ของตนนั้น มันช้ามาก ๆ เลย แต่ผมชอบ java applet ของ http://www.thaibg.com นะ เพราะมันบันเทิงดีเหลือเกิน

--- http://www.peetai.com | เว๊ปบล็อกที่โม้แต่เรื่อง Software as a Service.

By: deans4j on 21 October 2006 - 23:57 #10903

lew - เคยลองเปลี่ยนยี่ห้อ capture/replay ที่ใช้แล้วได้ผลลัพธ์เหมือนกันหรือเปล่า?

Integrate test ที่เคยใช้นี่เป็นแบบไหนครับ แบบ simulate http request แล้วเปรียบเทียบกับ response ที่คาดหวัง? หรือเป็นแบบ Robot?

พี่ไท้ - มันไม่เกี่ยวกับ Applet ครับ มันเกี่ยวกับ start up time ที่ช้าของจาวาเพราะต้องรอ VM มันโหลดคลาสอย่างที่บอก ถ้ามันเป็นจาวาแอพลิเคชั่นเราจะเห็นได้เลยว่ารัน java app ครั้งแรกมันโหลดนาน วิธีแก้ที่ซันแก้ขัดตอนนี้คือใช้ splash screen ขึ้นมาเพื่อให้ผู้ใช้เห็น response ส่วน Applet มันต้อง + เวลาดาว์นโหลดไปด้วยเลยยิ่งดูช้าไปใหญ่

Splash Screen เป็นหนึ่งในความสามารถใหม่ที่จะเป็นส่วนหนึ่งของ JDK 6

By: JavaDevil
iPhoneUbuntuIn Love
on 21 October 2006 - 23:59 #10904

โดยส่วนตัวผมไม่เคยเขียน Applet อย่างจริงๆจังนะครับ ไม่เคยเล่นผ่านเนตด้วย แต่เท่าที่เคยใช้มันก็เร็วดีนิครับ แหะๆ ผมไม่เคยรู้เหมือนกันว่า ตอนก่อน java1.4 เป็นอย่างไง(เก่าสุดผมแหละ) แต่ก็เห็นจะจริงเกี่ยวกับว่า Ajax ทำให้ user ขึ้นสวรรค์แต่Dev ตกนรก :p แต่ผมว่านะ Applet มันก็ทำได้ทุกอย่างที่ application ธรรมดาทำได้เลยนา -- JavaDevil -- ปีศาจน้อย --

By: plynoi
WriterAndroidUbuntu
on 22 October 2006 - 00:25 #10905

ถ้าถามความเห็นผม ให้มันแข่งกันเยอะๆ ให้มันเร็วขึ้น ใช้งานงาน pg ลำบากน้อยลง ผุ้ใช้พอใจ ก็ดีนะ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 22 October 2006 - 00:38 #10907
lew's picture

deans4j - Selenium นี่นับเป็นแบบไหนครับ มันใช้ JavaScript สร้าง Event ต่างๆ ขึ้นมาตามที่เรากำหนด ------ LewCPE


lewcpe.com, @wasonliw

By: deans4j on 22 October 2006 - 01:21 #10910

ถ้าอย่างนั้นก็คงขึ้นกับความสามารถของ JavaScript แล้วละ โดยปกติแล้วเราพอจะเรียกไปมาระหว่าง JavaScript กับ method ใน applet ได้ แต่ก็คงไม่ทุก testcase ที่จะครอบคลุมจากวิธีการนี้

วิธีที่ดีกว่านั้นไปหา capture/replay ตัวอื่นครับที่เก่งกว่านี้ : P โดยใช้หลักการอื่นที่ไม่ใช่ javascript สั่งสร้าง event อาจจะไปใช้ประเภทที่มันสร้าง event จาก OS โดยตรงก็น่าจะทำให้ปัญหานี้หมดไปได้

By: deans4j on 22 October 2006 - 12:57 #10911

JavaDevil, OHM ถูกต้องเลยครับ ผมคิดไปเองสงสาร developer นะ (ประโยคนี้ผมพูดไปแล้วกระทู้นั้น) ผมเองไม่ได้เชี่ยวชาญ JavaScript อะไร แต่จากประสบการณ์อันเลวร้ายสมัยเด็ก ทำให้ผมรู้ว่ามันไม่สนุกเลยกับการพยายามใช้ JavaScript ให้มันเวิรก

จริงๆ จะว่าไปแล้ว เชื่อหรือไม่ว่า JavaScript เป็น programming language แรกที่ผมศึกษา ในช่วงนั้น Netscape ยังครองตลาดผู้ใช้บราวเซอร์อยู่เลย แค่ศึก JavaScript VS. JScript ของ IE สมัยนั้นผมก็แทบกระอักแล้ว เรียกได้ว่าต้องแฮกกันไปแฮกกันมาจนกว่าออก ส่วนดีบั๊กเกอร์เพื่อนยากคือฟังค์ชั่น alert() นึกย้อนกลับไปแล้วยังเศร้าไม่หาย

วันนี้อะไรๆ ใน JavaScript คงเปลี่ยนแปลงไปมากอยู่ เครื่องมือต่างๆ ที่ดีก็มีมากขึ้น แต่ถ้าเทียบกับ Java แล้วมันก็ต่างกันอยู่เยอะ ถ้าจะสร้างเว็บให้ UI เป็น AJAX เช่นมีระบบ auto complete, partial submit-validation ที่มันช่วยให้ผู้ใช้ใช้งานได้คล่องขึ้น ยังงั้นใช้ไปเถอะ ผมสนับสนุนเต็มที่ แต่ถ้าเริ่มใส่ทุกอย่างเป็น AJAX กลายเป็น RIA ไป จนมันเริ่มอืดเหมือน Yahoo Beta ผมก็ไม่เห็นด้วย เป็นการเพิ่มความซับซ้อนให้กับระบบโดยใช่เหตุ ถ้ารับงานมาก็ต้องเผื่อเวลาไว้อีกหลายเท่าเทียบกับวิธีการปกติเพื่อดูว่ามันจะใช้ได้ดีแค่ไหน ไหนจะต้องมากังวลทำ load test ทดสอบดูว่าผู้ใช้เข้ามามากๆ แล้วจะรับ load ไหวหรือเปล่า มันจะมีประเด็นที่ว่าเราจะไว้ใจกับ XMLHttpProtocol ไว้ใจกับ web Browser หรือ AJAX Framework ที่ใช้ได้แค่ไหนกัน?

By: lew
FounderJusci's WriterMEconomicsAndroid
on 22 October 2006 - 03:26 #10914
lew's picture

deans4j - การสร้าง event จาก os มีข้อเสียคือเราไม่สามารถแยก Test Case ออกจากการออกแบบ Layout ได้ มันคงไม่ดีเท่าใหร่ที่เวลาเราย้ายตำแหน่งปุ่มไปสักสามสี่ปุ่มแล้วต้องแก้ Test Case นับร้อยตามไป ไม่ต้องพูดถึงการเปลี่ยน Template เว็บที่จะทำให้ทุกหน้าจอเปลี่ยนไปหมดในทันที

เรื่อง Javascript นี่เ้ห็นด้วยครับ ว่าการสร้างเว็บจาก JavaScript โดยตรงนั้นค่อนข้างเป็นฝันร้ายของการพัฒนาเว็บ แต่ทุกวันนี้เรามี Framework ที่ดีกว่าเดิม เช่น Google Web Toolkit ที่สามารถ Debug จากตัวโค้ด Java ได้โดยตรงก่อนส่งขึ้น Production หรือเฟรมเวิร์คอื่นๆ ที่มีวิธีการที่ดีขึ้นเรื่อยๆ

ผมไม่เข้าใจเหมือนกันว่าทำไม Yahoo! Beta มันถึุงช้าขนาดนั้น เพราะมีคนเอา YUI มาใส่ Wordpress ผมไปเล่นมันก็ลื่นดี ส่วนทางกูเกิลนั้น Gmail และ Google Reader พิสูจน์ตัวเองได้ดีพอดูว่ามันใช้งานได้เวิร์คจริงในระดับที่ความซับซ้อนสูงปานกลางถึงค่อนข้างมาก ------ LewCPE


lewcpe.com, @wasonliw

By: deans4j on 22 October 2006 - 13:00 #10916

เรื่องใช้ AJAX Framework ไม่ใช่ประเด็นที่ผมพยายามชี้ครับ กลับกันผมสนับสนุนว่าให้ไปใช้เฟรมเวิร์กเหล่านั้นแทนด้วยซ้ำ เพราะมันช่วยบดบังองค์ความรู้บางส่วนของการใช้ JavaScript ออกไปได้ ทำให้เราสามารถโฟกัสลงไปที่แก่นของ bussiness logic ของงานได้มากกว่า

แต่บางงาน RIA ที่มัน domain specific มาก และไม่มี framework ใดๆ ที่พอจะมี AJAX template ให้จนเราต้องมาคิดทำเองเล่นเองกับทั้ง CSS + DOM + DHTML + AJAX แล้วเมื่อนั้นแหละครับ ที่นรกมาเยือนสำหรับคนที่ไม่รู้จักมันอย่างดี คิดดูว่า code ด้วยจาวาสคริปต์แล้วมันจะยาว+ยากแค่ไหน แล้วเรื่องประสิทธิภาพของระบบอีกละ? ต่างกันตรงที่ถ้าเป็น Applet เรื่องพวกนี้จะเป็นเรื่องเบาสมองไม่ต้องคิดมากเพราะแค่นี้ Swing ทำได้ขำขำอยู่แล้ว และ Swing ก็พิสูจน์ตัวเองแล้วว่าไม่ได้ช้าอย่างที่ใครๆ คิด

อย่าง GMail โดยส่วนตัวผมไม่คิดว่ามันเป็น RIA นะ มันเป็นเว็บ AJAX ธรรมดา ไม่หวือหวาเหมือนสิ่งที่ Yahoo กำลังทำ (เราเคยคุยเรื่องนี้กันแล้วนิ) ถ้าทำแค่นี้กำลังดีครับ

แต่ถ้าอย่าง Google docs & spreadsheet, Flickr อย่างนี้ UI มันเริ่ม Rich จัด อย่างนี้ผมให้เป็น RIA ซึ่งผมก็ต้องยกย่องเค้านะครับว่าทำออกมาได้ดีเหลือเชื่อ แต่นั่นคือ Google Inc. ส่วน Flickr ก็เลือกใช้แฟลชในส่วนที่ผมมองว่าเป็น RIA

เรื่อง Integrate test ของ lew ถ้า applet มันทำงานจบในตัว แล้วไม่ได้ติดต่ออะไรกับหน้าเว็บอื่นๆ ก็ไม่จำเป็นต้องไป test รวมกันก็ได้มั้ง?

By: lew
FounderJusci's WriterMEconomicsAndroid
on 22 October 2006 - 10:10 #10920
lew's picture

เท่าที่ผมอ่านพวก AJAX Framework มาในตอนนี้ ผมยังนึกไม่ออกนะครับ ว่าคำว่า Domain Specific นี่มันต้อง Specific ถึงขั้นไหน เราถึงต้องลงมือเขียนด้วยตัวเอง หรือมันมีกรณีต้องทำอย่างนั้นบ่อยแค่ไหน

เรื่องหนึ่งคือการเขียน JS ในตอนนี้มันไม่ได้นรกเหมือนเมื่อก่อนเ่่ท่าใหร่แล้ว เรามี JS IDE อย่าง Aptana หรือเครื่องมือใน Firefox จำนวนมากที่ช่วยให้เรา debug JS ได้โดยไม่ทรมานเกินไป อย่างที่ผมใช้บ่อยๆ นี่ก็ View Generated Code นี่ก็ช่วยได้มหาศา่ลแล้วเหมือนกัน

ความยาวของ Javascript นี่มันเกิดจากความที่ไลบรารีของ JS มันขาดๆ เกินๆ และ API จำนวนมากไม่ portable ที่ให้ต้องมาตรวจสอบบราวเซอร์กันให้วุ่นวาย แต่ประเด็นอย่างนี้ถ้าเราใช้ไลบรารีที่มีการพัฒนามาแล้วเยอะๆ อย่าง prototype, mochikit หรือ jQuery ปัญหาพวกนี้จะหายไปเยอะมาก

เรื่องประสิทธิภาพนี่ ผมว่าไม่ว่า AJAX หรือ Applet มันก็ต้องกังวลกันทั้งคู่มังครับ โปรเจคที่ผมเจอนี่ Applet ก็โหลดเครื่องใ้ช้ได้เลย มันคงไม่ใช่แค่ว่าใช้ Swing แล้วมันจะเร็วขึ้นมาทันตาเห็น ------ LewCPE


lewcpe.com, @wasonliw

By: deans4j on 22 October 2006 - 12:51 #10924

lew ครับ domain specific ของผมไม่ได้หมายถึง AJAX ผมหมายถึง RIA ต่างหาก เช่นตัวอย่างตัว manager รูปภาพของ Flickr ไงครับ ลองนึกภาพดูถ้าส่วนนั้นไม่ใช้ Flash แต่เป็น DHTML+AJAX แบบไหนมันทำยากกว่า?

ปัญหาส่วนหนึ่งเพราะ JS มันหาคนเก่งยากครับ เพราะแต่ก่อน JS ก็ไม่ได้มีบทบาทอะไรมากมายนอกจากเขียนฟังค์ชั่นเล็กๆ ไม่กี่หน้า ตัวอย่างก็หาดาว์นโหลด copy-paste แล้วดัดแปลงได้เยอะแยะไป ยิ่งประเทศนี้เมืองนี้ด้วย โปรแกรมเมอร์บ้านเราเป็นแบบ all-in-one ซะส่วนใหญ่ เว็บไซต์ในบ้านเราจะหาที่ใส่ใจเรื่องรายละเอียดต่างๆ ไม่ว่า xhtml, css, js มันไม่ค่อยมี โปรแกรมเมอร์+ดีไซเนอร์ที่ทำด้านนี้ก็น้อยเป็นเงาตามตัว หลายๆ ที่แบ่งเวลาไม่ดีตัว domain requirements ก็ทำไม่ค่อยจะทันกันอยู่แล้ว ถ้าบริษัทไหนมีดีไซเนอร์ที่ทำเกี่ยวกับเรื่องนี้โดยเฉพาะมันคงไม่มีปัญหา คงพอจะแบ่งออกเป็นอีกสายพัฒนาควบคู่กันไปได้ แต่ถ้าบริษัทไหนไม่มีแล้วโปรแกรมเมอร์คนเดียวกันหรือกลุ่มเดียวกันต้องรับผิดชอบทั้งหมด ที่นี้ปัญหามันก็เริ่มมาแล้ว อย่างส่วนตัวผมพัฒนาจาวาผมก็รู้ Swing แล้วผมก็คุ้นเคยกว่าการมานั่งเขียน JS ผมคงเขียน Applet หรือ thin client ได้เร็วกว่า เพราะอย่างน้อย Swing API มันก็มี layer of abstraction ที่สูงกว่า

กระทู้เริ่มยาวละ อยากจะสรุปสาระที่อยากจะกล่าวคือว่า ผมไม่ได้แอนตี้ AJAX หรือ JS สำหรับงาน RIA หรืออย่างไร ผมแค่อยากจะชี้ให้ทุกคนรู้ว่า ณ วันนี้มันมีทางเลือกอื่นที่ง่ายกว่า ถ้าทุกคนยอมรับได้ ผมมองว่า HTML+JS ไม่ได้ถูกออกแบบมาโดยคิดคำนึงแต่แรกว่าอนาคตจะมีคนจับมันมาทำ RIA อย่างจริงจัง มันไม่ได้เกิดมาเพื่อสิ่งนี้ ผมยังมองพวก declarative UI รุ่นใหม่อย่าง XUL, XAML น่าใช้กว่าเยอะ

By: deans4j on 22 October 2006 - 13:01 #10925

อ้าวกรรม ผมไป edit คำนิดหน่อย comment ผมร่วงตกลงมากองข้างล่างหมดเลย -_-"

By: bow_der_kleine
WriterAndroidUbuntu
on 22 October 2006 - 18:01 #10936
bow_der_kleine's picture

จริง ๆ ผมว่า AJAX กับ JS มันก็ไม่ได้ยากอย่างที่หลาย ๆ คนคิดนะครับ เพียงแต่มัน debug ยาก แล้วก็แต่ละ webbrowser ก็ดัน interpretate ไม่เหมือนกันอีก ส่วนมากทางออกของผมคือ ใช้เฉพาะฟังก์ชั่นที่รู้แน่ ๆ ว่ามันทำงานยังไง และทำงานเหมือนกันบนทุก webbrowser

ส่วนเรื่อง RIA ผมคิดว่าการใช้ AJAX ไม่น่าจะเป็นทางออกที่ดีนัก เพราะอย่างที่คุณ deans4j ว่ามาครับ ว่า (X)HTML+JS ไม่ได้ถูกออกแบบมาเพื่อการนี้ การพยายามผลักดัน AJAX ให้กลายเป็น RIA ผมมองว่าเหมือนคนพยายามแต่งรถกระบะ ให้กลายเป็นรถแข่ง ทำน่ะทำได้ แต่ปัญหาต่าง ๆ มันจะตามมามากมาย และมันจะเป็นการเพิ่ม cost โดยไม่จำเป็น

ทางออกน่าจะเป็นหารูปแบบ Document แบบอื่น ที่ไม่ใช่ HTML เพื่อให้มันทำงานกับ RIA โดยเฉพาะ แต่อาจยังคงเป็น HTTP อยู่ แล้วก็ reset webbrowser ทุกตัว ให้ทำงานกับ Document ตัวนี้ได้ ภายใต้มาตรฐานเดียวกัน แต่เรื่องนี้คงได้แต่ฝันครับ เพราะเป็นเรื่องที่เป็นไปได้ยากมาก

ตอนนี้ผมคิดว่าเราต้องรอดูสถานการณ์ไปก่อนครับ เพราะช่วงนี้เป็นช่วงเปลี่ยนแปลงเทคโนโลยีครั้งใหญ่อีกครั้งบนอินเทอร์เนต รอไปสักพัก ผมคิดว่าอะไร ๆ คงเสถียรมากกว่านี้

By: พี่ไท้ on 22 October 2006 - 18:56 #10937

อย่างนี้คงต้องขอความอนุเคราะห์ microsoft ให้ load ทุก ๆ class ของ applet ที่พึงมีพึงใช้ รวมทั้ง load java virtual machine เอาไว้ตั้งแต่ตอนแรกที่ boot เข้าเครื่องเลยนะเนี่ย ทำเป็น service เลยยิ่งดี

แหงะ แต่ microsoft เขาอิงไปทาง .NET FrameWork แล้วนี่นา เค้าต้องแกล้งแอบซ่อนอะไรไว้ไม่ให้ JVM ทำงานได้ง่าย ๆ แน่ ๆ เลย

--- http://www.peetai.com | เว๊ปบล็อกที่โม้แต่เรื่อง Software as a Service.

By: sirn
WriteriPhone
on 22 October 2006 - 19:58 #10938

ทางออกน่าจะเป็นหารูปแบบ Document แบบอื่น ที่ไม่ใช่ HTML เพื่อให้มันทำงานกับ RIA โดยเฉพาะ แต่อาจยังคงเป็น HTTP อยู่ แล้วก็ reset webbrowser ทุกตัว ให้ทำงานกับ Document ตัวนี้ได้ ภายใต้มาตรฐานเดียวกัน แต่เรื่องนี้คงได้แต่ฝันครับ เพราะเป็นเรื่องที่เป็นไปได้ยากมาก

แล้วมันก็จะออกมาแบบ

"เจอ JS+XUL ก็ปิดเหมือนกัน"

By: AnnoMundi on 22 October 2006 - 22:04 #10942

สรุปตอนนี้มีเทคโนโลยี 3 แบบ ตามที่คุยคือ Java (Applet) กับ AJAX (javascript) ,Flash บริษัททั่วไปจะเลือกทำออกมาแบบไหน เขาจะมองที่ความถนัดของ Developer หรือความต้องการของลูกค้ากันล่ะ?

By: deans4j on 23 October 2006 - 02:35 #10953

เค้าต้องมององค์ประกอบหลายอย่างแล้วถัวน้ำหนักเอาครับ ในความเป็นจริงแล้วใครก็คงอยากได้ AJAX นะ เพราะมันสำเร็จรูปออกมา ไม่ต้องการตัว runtime เหมือนจาวาหรือแฟลช

ถ้า UI มันง่ายๆ ตามหลักที่ HTML ทำได้ ไม่ต้องพึ่ง DHTML หนักๆ ก็น่าสนใจ อย่าง google doc & spreadsheet อย่างนี้ผมว่ามันก็ ok แต่ถ้าประเด็นอื่นมันสำคัญกว่าเช่น ถ้าระบบต้องการ reliability สูง สามารถ scale จากงานเล็กและรองรับการขยายได้ในอนาคต สามารถดูแลรักษาเป็นระบบระเบียบได้ดีกว่า จัดการเรื่องประสิทธิภาพที่ดีกว่า ให้บริการได้ไม่ติดขัด จาวาเป็นทางเลือกที่ได้พิสูจน์ตัวเองแล้วในอุตสาหกรรมว่าสามารถจัดการเรื่องนี้อย่างเป็นระบบได้ง่ายกว่าจากตัวเทคโนโลยีเอง แต่ไม่ใช่ว่าเรื่องพวกนี้ AJAX มันทำได้ไม่ดีนะ มันก็สามารถทำได้ และคงต้องใช้ effort สูงกว่า เพราะตัวเทคโนโลยีมันไม่สามารถรับประกันได้ในตัว

ในการทำ RIA ผมว่าทั้ง 3 เทคโนโลยีต่างมีจุดแข็ง และจุดอ่อนในตัว (เหมือนเล่นเกม mmorpg ยังไงไม่รู้) ต้องดูแล้วเลือกเอาว่าเราให้น้ำหนักกับสิ่งไหนมากกว่ากัน

By: tvchampion on 23 October 2006 - 15:55 #10966

เท่าีที่อ่านในนี้ไม่ค่อยมีใครอยากทำงานกับแฟลชกันเลยแฮะ -_-' ้ำ้ำhaxe, red5, amfphp ,flex มีใครเคยจับมั่งนี่ครับ ?

By: deans4j on 23 October 2006 - 17:15 #10969

จริงๆ ผมไม่อยากวิจารณ์แฟลชนะครับ ส่วนตัวไม่เคยลงไปจับอะไรมากมาย ถ้าพูดถึงเรื่องฝั่ง client อย่างเดียวแฟลชนั้นทำ UI ได้ง่ายและสวยดี เมื่อเทียบกับฝั่งจาวา แฟลชมี api+tools ที่ high level กว่าในส่วนของการพัฒนาการแสดงผล

จะว่าไปแฟลชเนี้ยะ มันเหมือนลูกผสมครับ ตัวมันในส่วนของ ActionScript เป็นภาษาสคริปต์ ไม่ต่างอะไรกับ JS เท่าไหร่ เพราะฉะนั้นมันก็จะเจอปัญหาเดียวกันในการ maintain แถมฝั่ง client ก็ต้องการตัว Runtime เหมือนจาวาด้วย ในฝั่งของ server side หลายๆ เทคโนโลยีที่เกี่ยวข้องด้วยมันเสียตังค์และเป็นเทคโนโลยีปิดยังไงไม่รู้ คือถ้าองค์กรมีให้ใช้ก็ใช้ละกัน ถ้าไม่มีงบหรือว่าองค์กรไม่ผลักดันก็หันไปมองทางเลือกอื่น

ทำ RIA ในส่วน client ผมให้สอบผ่าน ในส่วน server ผมไม่รู้

By: tvchampion on 23 October 2006 - 23:45 #10983

deans4j : flash server side ของฟรีมันก็มีครับ ลองเข้า http://www.osflash.org ดู ในนี้ มีหลายๆโครงการที่น่าสนใจครับ แต่อย่างว่าละครับ developer มันน้อย ความเคลื่อนไหวมันเลยเงียบๆ

By: deans4j on 24 October 2006 - 06:50 #10991

tvchampion ขอบคุณสำหรับ resource ครับ มีหลายโปรเจ็คน่าสนใจ แต่ถ้าจะทำ flash client ให้สวยผมคงต้องไปลงเรียน ศิลปะ 101 ก่อนละมั้ง -_-"

By: donga on 26 October 2006 - 10:03 #11071

ผมว่า AJAX มันน่าจะตั้งไข่ได้ตั้งแต่สมัยยังต้องทำ cross browser support กันบน DHTML + JavaScript แล้ว เพียงแต่ตอนนั้นสงสัยจะเป็นเพราะส่วนใหญ่คนจะทำแค่ไลบรารี DHTML + JavaScript แยกเป็นอย่าง ๆ ไม่ค่อยเห็นเป็นชุดใหญ่ ๆ มันเลยไม่เกิด(มัง) ตอนนั้นผมทึ่งโปรเจ็กต์ DynAPI มากๆ ที่เค้าเขียน pure javascript ได้ซะขนาดนั้น แต่ก็ได้แต่ทึ่ง เพราะผมไม่ได้เอามันมาใช้ทำอะไรเลย :P