ทำไม WPF Form ถึงไม่เป็นที่นิยมในไทย ส.สงสัย
#1
Posted 09 July 2009 - 04:33 AM
ในฐานะคนหนึ่งที่ต้องหันไปคุยกับต่างชาติแทน (ไม่มีคนคุยด้วย เขียน Win กับ Web กันหมด)
จึงได้เกิดความสงสัยว่า ทำไม WPF จึงไม่เป็นที่นิยม
ทั้งๆที่ความสะดวกในการเขียนและใช้งานมากกว่า Win Form
ใครก็ได้ให้ความกระจ่างแก่ผมที = =a
ปล.Web App ทำไมได้รับความนิยมมากจัง หันไปทางไหนก็เจอ
#2
Posted 09 July 2009 - 08:27 AM
หมายถึง Web App ที่ใช้ Silverlight หรือ Web App ธรรมดา ครับ - -" (น่าจะหมายถึง Web App ธรรมดาแหละมั้ง ผมคงคิดมากไปเอง - -")
ก็เพราะเดี๋ยวนี้ Web App มันเข้าถึงได้ง่ายกว่า Win App น่ะครับ Win App ต้องมานั่งไล่ Install, ลง Framework, Set โน่น ตั้งนี่ เยอะแยะไปหมด
Web App ตัวเดียว นั่งอยู่ที่ไหนก็เข้าได้ เดี๋ยวนี้คนเลยนิยมมากขึ้นน่ะครับ - -"
ส่วนเรื่อง WPF ผมก็ไม่รู้แฮะ - -" จะบอกว่า Developer ไทย ไม่ Art ก็อาจจะมีส่วนแต่ไม่น่าเกี่ยวขนาดนั้น
แต่เท่าที่สังเกตุว่าคนไทยทำ Flash App นี่เยอะนะครับ แต่ส่วนใหญ่รู้สึกจะไม่ใช่สาย Coding เท่าไหร่เลย
ส่วนอย่างผมเงี้ยที่จับแต่ Coding ไม่จับ Design เท่าไหร่ (บอกเลยว่าหัวไม่ Art พอ - -") ตอนนี้ก็ศึกษา WPF อยู่นะครับ แต่แตะแค่ชื่อเองยังไม่เคยเขียนให้ได้จริงเลย - -"
ส่วนอีกข้อผมไม่รู้ว่าเป็นกันมั้ยนะว่า คนไทยอาจไม่ขยัน พิมพ์ Code เช่นว่ามี Tools ให้ลากวาง ก็จะใช้แต่ Tools หากไม่จำเป็นจริงๆ (หรือเจ้านายไม่สั่ง) ก็จะไม่ลง Code สด ซึ่ง WPF ยังมีการลง Code สดอยู่ในระดับหนึ่ง (ถึงจะใช้ Blend ก็เถอะนะ - -")
#3
Posted 09 July 2009 - 12:51 PM
Quote
หากไม่จำเป็นจริงๆ (หรือเจ้านายไม่สั่ง) ก็จะไม่ลง Code สด ซึ่ง WPF ยังมีการลง Code สดอยู่ในระดับหนึ่ง
(ถึงจะใช้ Blend ก็เถอะนะ - -")
ข้อนี้โดนครับ ผมใช้ Blend แค่ช่วยจัดวางให้เท่านั้น ส่วนใหญ่ลงโค๊ดในการทำ User Control (85-100%)
ขนาด Textbox ยังต้องทำเป็น User Control เพื่อความสะดวก
(ไม่ทำเวลาขยายหรือยืดControl พวกที่เราตกแต่งไว้มันจะไม่ไปด้วยกัน บางทีก็ไปแบบไม่สามัคคีกัน)
XAML Animation ใช้ CPU เยอะมาก ถึงแม้จะปรับเรื่อง Interval
จนผมต้องให้ไปเขียนส่วนของภาพเคลื่อนไหวด้วย VB
(จากปรกติ 30% เซ็ตInterval ลงไปที่ 12%[Fps = 30] แต่ลงโค๊ดVb ลงไปที่ 2%[Fps = 30] O_o")
บางตัวที่เขียนยากๆ ก็ต้องยอมใช้ Xaml ไปก่อน
Web App นี่หมายถึงแบบธรรมดาครับ ต้องขออภัยที่พิมพ์คลุมเครือครับ ^^"
#4
Posted 13 July 2009 - 12:00 PM
1. ใช้เวลามากไปกับการออกแบบ UI ที่สวยงาม ขณะที่ผมมักจะมัวแต่ออกแบบ DB + class ตามการใช้งานก่อนเป็นอันดับแรก ประมาณว่าวันๆ เราใช้กันแต่สมองซีกซ้าย
2. ปกติเวลาทำ web-app ผมจะแบ่งงานให้มีคนดีไซน์ทำ template CSS + flash ไปเลยซึ่งมันมีคนรู้เยอะกว่า ค่าจ้างถูกด้วย
3. ไม่มีตัวอย่างโปรแกรมที่เขียนเอาไปใช้งานจริง เพื่อเวลาจะเสนอให้ user ดู ลองนึกว่ามีงานเข้ามาผ่านไปเป็นเดือนปรากฎว่ายังร่างออกแบบ UI อยู่ก้อมันไม่ทันกินแล้วครับ ยกเว้นผู้ใช้งาน request มาเองว่าอยากได้โปรแกรมหน้าตาเลิศหรูอลังการแบบนี้
4.ที่สำคัญคงเป็นแหล่งข้อมูลและผู้รู้นั่นล่ะครับ ในเมื่อไม่มีใครให้ถามหันหน้าไปถามฝรั่ง คงเหมือนภาษา Python ที่คนไทยไม่ใช้เพราะไม่มีใครมาเผยแพร่
การศึกษาเทคโนโลยีใหม่ๆ ต้องมีเวลาว่างพอสมควร + ความกระหายอยากจะรู้แบบ geek อีกนิดหน่อย
#5
Posted 13 July 2009 - 02:13 PM
crazycat, on Jul 13 2009, 12:00 PM, said:
1. ใช้เวลามากไปกับการออกแบบ UI ที่สวยงาม ขณะที่ผมมักจะมัวแต่ออกแบบ DB + class ตามการใช้งานก่อนเป็นอันดับแรก ประมาณว่าวันๆ เราใช้กันแต่สมองซีกซ้าย
2. ปกติเวลาทำ web-app ผมจะแบ่งงานให้มีคนดีไซน์ทำ template CSS + flash ไปเลยซึ่งมันมีคนรู้เยอะกว่า ค่าจ้างถูกด้วย
3. ไม่มีตัวอย่างโปรแกรมที่เขียนเอาไปใช้งานจริง เพื่อเวลาจะเสนอให้ user ดู ลองนึกว่ามีงานเข้ามาผ่านไปเป็นเดือนปรากฎว่ายังร่างออกแบบ UI อยู่ก้อมันไม่ทันกินแล้วครับ ยกเว้นผู้ใช้งาน request มาเองว่าอยากได้โปรแกรมหน้าตาเลิศหรูอลังการแบบนี้
4.ที่สำคัญคงเป็นแหล่งข้อมูลและผู้รู้นั่นล่ะครับ ในเมื่อไม่มีใครให้ถามหันหน้าไปถามฝรั่ง คงเหมือนภาษา Python ที่คนไทยไม่ใช้เพราะไม่มีใครมาเผยแพร่
การศึกษาเทคโนโลยีใหม่ๆ ต้องมีเวลาว่างพอสมควร + ความกระหายอยากจะรู้แบบ geek อีกนิดหน่อย
ตอบข้อ 1 WPF สามารถแยกพัฒนาระหว่าง UI กับ source code ได้ครับ
ตอบข้อ 2 ถ้าจะเทียบกับ Web Application เอา silverlight เทียบดีกว่าครับ
ตอบข้อ 3 ตอนนี้มีโปรแกรมที่พัฒนาด้วย WPF เยอะพอสมควรครับ แต่ถ้าต้องเอาโปรแกรมของ บ. ไปให้ลูกค้าดู อาจจะทำ demo ง่ายๆ ก็ได้ เอาแค่ให้ลูกค้าเห็นว่า WPF ดีกว่า Windows Form ยังไง
#6
Posted 17 July 2009 - 03:40 PM
เพราะว่า WPF ยังไม่ได้ให้อะไรนอกเสียจาก ความงาม . . ของ UI
อย่างไรก็ตามผมชอบนะสำหรับ WPF แต่ผมว่าถ้าอยากให้สวยแบบนั้นเลย ไปทำเป็น Web พวก Silverlight ดีกว่าครับ
#7
Posted 17 July 2009 - 09:29 PM
Fazz, on Jul 17 2009, 03:40 PM, said:
เพราะว่า WPF ยังไม่ได้ให้อะไรนอกเสียจาก ความงาม . . ของ UI
อย่างไรก็ตามผมชอบนะสำหรับ WPF แต่ผมว่าถ้าอยากให้สวยแบบนั้นเลย ไปทำเป็น Web พวก Silverlight ดีกว่าครับ
ความสามารถของ WPF ที่เพิ่มมาจาก Windows Form มีหลายอย่างครับ เช่น route event, dependency property, attach property, visual tree, logical tree ซึ่งความสามารถพวกนี้ช่วยให้เราพัฒนา application ได้สะดวกกว่าเดิมครับ
#8
Posted 27 July 2009 - 10:08 PM
อย่าโปรแกรมที่ผมเขียน (Windows Addon Installer) ใน UI เกือบจะไม่มีโค๊ดเลย ใช้ Bind เอา แล้วเวลามีอะไรเปลี่ยนแปลงใน App ก็สร้างเป็น Animation (ถ้าจะ Animate ต้องใช้ RenderTransform ครับ มันทำบน GPU) สร้างเป็น VisualState แถมทีเด็ดที่ผมชอบมากคือ Dependency Property ครับ สามารถเอาความสามารถใส่ลงไปในคลาสอะไรก็ได้ ไม่มีอะไรเจ๋งกว่านี้อีกแล้ว ระบบ Localization อย่างง่ายที่ผมใช้ ก็ใช้ Dependency Property แปะเข้าไปกับคอนโทรล ให้คอนโทรลมันสามารถไปอ่านจาก Resource ได้ครับ
ตอนนี้ผมไม่สามารถทนกลับไปใช้ Windows Form เหมือนเดิมได้แล้วครับ เหอๆ
#10
Posted 28 July 2009 - 09:28 AM
ทั้งๆที่ในความเป็นจริงแล้ว WPF ค่อนข้างสะดวกสบายกว่า WinForm มากๆ
ไม่ว่าจะเป็นในเรื่องของการทำ Data binding หรือ Dependency Properties ตามที่คุณ nantcom กล่าว
สำหรับการพัฒนา Product ให้ลูกค้า ผมมองว่าไม่เป็นปัญหากับความสวยงามกับ UI ครับ
เพราะเราสามารถแยกพัฒนาได้สำหรับ UI และ Logic การทำงาน
และ Software Development Process หลายๆประเภทเช่น UP ก็สนับสนุนให้ทำงานหลายๆ Task ไปพร้อมๆกันอยู่แล้วด้วย
สำหรับตัวผมแล้ว ผมเลยค่อยข้างชอบ WPF มาก เพราะ
1. หากเรามีทีมที่ดี Process ที่ดี เราสามารถทำงานได้ไวขึ้นเยอะเลยครับ เพราะเราแทบจะแยกการพัฒนา UI กับ Logic การทำงานได้เลยครับ
2. การ Reuse XAML code ครับ หากเราต้องการเปลี่ยนระหว่าง VB และ C#
3. ความสะดวกของ Depedency Property, Command Binding, RoutedEvent และ Visual Tree ครับ
#12
Posted 28 July 2009 - 11:11 AM
#14
Posted 28 July 2009 - 02:18 PM
nantcom, on Jul 28 2009, 11:11 AM, said:
ตัวผมเองก็เริ่มเขียนบล็อกเกี่ยวกับ WPF แล้วเช่นกันครับ
แต่หากใครได้เข้าไปอ่าน อาจจะพบว่า บางหัวข้อเขียนไว้ไม่ค่อยละเอียดซักเท่าไหร่เนื่องจากช่วงนี้ไม่ค่อยมีเวลาครับ
(คิดว่า หากมีเวลาเมื่อไหร่ จะเข้าไปเติมเต็มส่วนที่ขาดหายไปครับ)
บล็อกผมสามารถเข้าไปดูได้ครับ ที่ Signature ของผมนะครับ
#15
Posted 28 July 2009 - 10:44 PM
ซึ่งอาจจะต้องการ spec สูงกว่า windows app จึงจะ run งานได้ราบรื่น
แค่ windows app ธรรมดาของ .net ก็อืดเอาเรื่องเหมือนกันละครับ
ถ้า form มี detail เยอะมาก ๆ (แต่ถ้าใช้ thread ก็อีกเรื่องนึง)
ส่วนตัวชอบครับ WPF และอยากใช้งานเช่นกัน หากมีโปรเจ็คนอกหลงมาคงได้ใช้งานแน่นอน
แต่งานปัจจุบันมาสายเว็บคงต้องใช้ silverlight ความสามารถด้อยกว่าแต่ก็ยัง technology เดียวกัน

Help











