เหตุใดเราจึงยังใช้ DOM ในเบราว์เซอร์มากกว่ากระบวนทัศน์เดสก์ท็อป


11

จากความเข้าใจของฉันเว็บอินเตอร์เฟสได้รับการพัฒนาให้ใช้ HTML เพราะในเวลานั้นมันเป็นไปไม่ได้ที่จะจำลองแอปพลิเคชันสไตล์เดสก์ท็อปในเบราว์เซอร์เช่นวิธีการทำงานของ Silverlight และ Flash เนื่องจากข้อ จำกัด แบนด์วิดท์

ทำไมไม่เคยมีในอดีตและปัจจุบันได้รับการยอมรับมากขึ้นและผลักดันให้เทคโนโลยีเช่น Flash / Silverlight? จากประสบการณ์ของฉันพวกเขายินดีที่จะพัฒนาด้วย (แน่นอนความคิดเห็นของฉัน) และคุณไม่ต้องจัดการกับการปฏิบัติตามเบราว์เซอร์ข้ามและเบราว์เซอร์รุ่นเก่า (ส่วนใหญ่)

การจัดการกับ postbacks, AJAX และอื่น ๆ ดูเหมือนจะเป็นความพยายามที่ไม่จำเป็นเป็นพิเศษเมื่อเทียบกับกระบวนทัศน์การพัฒนาของแอปพลิเคชันบนเดสก์ท็อป เทคโนโลยี DOM และคำชมเชยยังคงเติบโตอย่างต่อเนื่องโดยเฉพาะอย่างยิ่งในความจริงที่ว่า Silverlight / Flash ต้องการการติดตั้งปลั๊กอินและโทรศัพท์มือถือบางรุ่นไม่รองรับปลั๊กอินหรือไม่


1
เพราะ DOM ไม่ใช่พลเมืองชั้นสอง Silverlight และ flash เป็นสิ่งที่รั่วไหล คุณสามารถมีเดสก์ท็อปดั้งเดิมเช่นแอปพลิเคชันใน DOM ของผู้ใช้เบราว์เซอร์ มันทำงานได้อย่างมีประสิทธิภาพและผสานรวมได้ดีกว่าแฟลชหรือ Silverlight
Raynos

คำตอบ:


17

เหตุผลเล็ก ๆ น้อย ๆ ที่ฉันนึกออกออกมาจากหัวของฉัน:

  • เว็บสแต็คแบบดั้งเดิมค่อนข้างสมบูรณ์ในทุกวันนี้ เบราว์เซอร์สมัยใหม่มีจำนวนน้อยมากเหลือเกินและการออกแบบเว็บไซต์ให้พวกเขานั้นค่อนข้างน่าพอใจเมื่อเทียบกับเมื่อ 5 ปีก่อน
  • แม้ว่าเบราว์เซอร์จะมีความแตกต่างกัน แต่ก็มีความเกี่ยวข้องน้อยกว่าความแตกต่างระหว่างระบบปฏิบัติการและฮาร์ดแวร์
  • กระบวนทัศน์คำขอ / การตอบสนองใช้งานได้ดีกับหลายสิ่งหลายอย่างเช่นการนำเสนอเนื้อหาที่หนักหน่วง
  • เครื่องมือค้นหาไม่กระตือรือร้นกับเนื้อหา Flash หรือ Silverlight อย่างแน่นอน
  • Flash และ Silverlight นั้นควบคุมโดย บริษัท เดียว ใช้พวกเขาหมายถึงการสนับสนุนแพลตฟอร์มในอนาคตสำหรับรหัสของคุณอยู่ที่ความเมตตาของ บริษัท เหล่านี้
  • หลายสิ่งที่คุณสามารถทำได้ด้วย HTML ไม่สามารถทำได้กับปลั๊กอิน: คิดว่าที่คั่นหน้าคัดลอกวางการแปลแบบทันที, สไตล์ชีทที่กำหนดเอง
  • ปลั๊กอินเล่นได้ไม่ดีกับเบราว์เซอร์ที่ไม่ได้มาตรฐาน - คิดว่าเบราว์เซอร์ข้อความเบราว์เซอร์เสียงและอุปกรณ์อื่น ๆ ที่สามารถแสดงหน้าเว็บได้
  • คุณไม่สามารถทำให้ไคลเอนต์ Flash หรือ Silverlight อัตโนมัติได้อย่างง่ายดายในขณะที่การขับเว็บไซต์ HTML จากสคริปต์นั้นค่อนข้างตรงไปตรงมา

อีกอย่างที่ฉันนึกถึง: ปลั๊กอินเหล่านี้ไม่ใช่โอเพนซอร์ส และบางคนเพียงแค่ทำสิ่งที่ไม่ไว้วางใจซึ่งพวกเขาไม่สามารถทำgit cloneด้วย แน่นอนว่าคุณสามารถรับเวอร์ชันโอเพ่นซอร์สเช่น Gource หรือ Moonlight แต่ไม่สามารถใช้งานร่วมกันได้อย่างสมบูรณ์
ดร. แมคเคย์

2
จริง ๆ แล้วฉันเคยคิดถึงการโต้แย้งโอเพนซอร์ซ แต่ฉันไม่คิดว่ามันเป็นปัญหาใหญ่โตฉลาดจริงในโลก (ไม่ว่าฉันจะเป็นแฟนตัวยงของ FOSS ฉัน) การโต้เถียง 'ในความเมตตาของ บริษัท เดียว' นั้นเกี่ยวข้องกันอยู่แล้วและมีความสำคัญ
tdammers

4

คำตอบง่ายๆสำหรับ "ทำไมไม่มีแอปพลิเคชันเดสก์ท็อปใน Flash" คือคุณสามารถเขียนลงใน Adobe Air แต่เห็นได้ชัดว่ามีเพียงไม่กี่คนเท่านั้นที่ทำ

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


3

นี่คือผลกระทบที่พบบ่อยมากในอุตสาหกรรมของเรา
ตัวอย่างเช่นฉันเองใช้haXeและปรับใช้รหัสลูกค้าของฉันใน Flash Player เพราะ IMHO เป็นแพลตฟอร์มที่เปิดใช้งานเว็บที่ดีที่สุดที่ฉันสามารถกำหนดเป้าหมายได้ เมื่อแบ็กเอนด์ C # เสร็จสิ้นฉันอาจจะตรวจสอบว่า Silverlight คุ้มค่าหรือไม่แม้ว่าความรู้สึกส่วนตัวของฉันคือมันเสียชีวิตก่อนที่มันจะถูกถอดออกจริง ๆ

มีความสุขมากกับการเลือกภาษาของฉันสิ่งที่ฉันถามตัวเองบ่อยๆคือ: ทำไมนักพัฒนาเว็บไม่ใช้โอเพ่นซอร์สหลายกระบวนทัศน์การแสดงออกภาษาข้ามแพลตฟอร์ม

มีหลายเหตุผล แต่ก็เหมือนกันเสมอ หนึ่งที่ถูกต้องคือการตั้งค่าส่วนตัว แต่บ่อยครั้งมันเกิดขึ้นเพราะไม่รู้หรือไม่เต็มใจต่อเทคโนโลยีใหม่ ๆ
เมื่อพูดถึง Flash ฉันมีข้อโต้แย้งมากมายว่าทำไมถึงมีที่อยู่และทำไมจึงต้องใช้ คนส่วนใหญ่แย้งว่าจุดทั้งหมดของ Flash คือการสร้างเว็บไซต์แฟนซีที่โหลดมานานและดำเนินการอย่างน่ากลัว (และกระจายข้อมูลที่ผิดอื่น ๆ จำนวนมาก)
อันที่จริงแล้วสิ่งที่ตรงกันข้ามนั้นเป็นจริงและแอพเช่นAviary PhoenixหรือSliderocketและเกมที่KoyotlและTanki Onlineพิสูจน์ Flash เป็นแพลตฟอร์มสำหรับผู้ใหญ่เพื่อสร้างประสบการณ์แบบเดสก์ท็อปในเบราว์เซอร์

ในท้ายที่สุดการตัดสินใจเชิงกลยุทธ์มากเกินไปนั้นเกิดขึ้นจากคนที่ไร้ความสามารถที่ชอบติดตามแนวโน้มและเชื่อใจนักเขียนบล็อกระดับแฟนซีมากกว่านักพัฒนา และใครมีความคิดที่ผิดมากมายในหัวของพวกเขา

ใหม่ / เทคโนโลยีเฉพาะจะต่อสู้เพื่อยอมรับเว้นแต่ว่าพวกเขาจะทำให้การพัฒนา ตัวอย่างเช่นทับทิมประสบความสำเร็จในเรื่องนี้ผ่านทางรถไฟและโฆษณาขนาดใหญ่รอบ ๆ Flash มีความก้าวหน้าครั้งยิ่งใหญ่สำหรับนักออกแบบเพราะในยุค 90 คนคิดว่าโหยหวนนั้นดีและเป็นแพลตฟอร์มการแพร่กระจายอย่างกว้างขวางตัวแรกที่อนุญาตให้ใช้งานได้
แม้จะมีความยืดหยุ่น แต่ Flash ก็ไม่เคยมีความก้าวหน้าเช่นนี้สำหรับนักพัฒนา อาจเป็นเพราะGWT , qooxdooและเฟรมเวิร์กการปรับใช้กับ HTML อื่น ๆ นั้นดีพอเพียงไม่ใช้ Flex หรือ Flash และมีผู้พัฒนา Java และ JavaScript มากขึ้น (เห็นได้ชัดว่า บริษัท ต้องการเลือกเทคโนโลยีที่มีพนักงานที่มีศักยภาพสูง )

คุณไม่จำเป็นต้องเขียนเว็บไซต์ AJAX ของคุณตั้งแต่เริ่มต้น จริงๆคุณไม่สามารถเข้าใจ HTML และทำมันในภาษาที่คุณเลือก

ตอนนี้ HTML5 ได้รับการโฆษณาและผลักดันอย่างมากและหลาย ๆ คนอนุมานถึงความตายของ Flash จากสิ่งนั้น มีเหตุผลที่ยอดเยี่ยมมากมายทำไม HTML5 ถึงดีกว่า Flash สิ่งที่น่าเป็นไปได้คือคุณจะมีเว็บไซต์ที่สร้างขึ้นมากด้วย HTML5 อึตามมาตรฐานไม่ดีไปกว่าอึของบุคคลที่สาม

ตอนนี้มีหลายสิ่งที่เกิดขึ้น iPhone และอุปกรณ์ที่คล้ายคลึงกันอื่น ๆ สร้างตลาดขนาดใหญ่ที่ไม่ได้อยู่ที่นั่นเมื่อสี่ปีก่อน และในที่สุดมาตรฐานเว็บก็ถูกผลักดันโดย บริษัท ยักษ์ใหญ่ทุกแห่งในทิศทางเดียวกัน (ราง)

โดยส่วนตัวแล้วฉันแค่หวังว่าความปั่นป่วนทั้งหมดจะเกิดขึ้นภายในหนึ่งหรือสองปีซึ่ง HTML5 จะมีความเสถียรเติบโตและแพร่กระจายไปจนถึงขณะที่ Apple หวังว่าจะมีท่าทีที่ลดน้อยลงและ Flash Player จะกลายเป็นแพลตฟอร์มมือถือเร็วขึ้น และเมื่อขั้นตอนใหญ่นี้เสร็จสิ้นผู้คนจะกลับมาเลือกเครื่องมือที่เหมาะสมสำหรับงานเช่นเดียวกับที่เกิดขึ้นหลังจากสงครามเบราว์เซอร์หยุดลง ณ ตอนนี้มีเสียงดังเกินไปที่ผู้คนจะคิดได้ชัดเจน


3
เปิดไฟโปรแกรมอ่านหน้าจอปิดหน้าจอและลองดู มันยังใช้งานได้หรือไม่
BillThor

1
"ทำไมนักพัฒนาเว็บถึงไม่ใช้ภาษาโอเพ่นซอร์สหลายกระบวนทัศน์ที่แสดงออกและข้ามแพลตฟอร์ม" - คุณหมายถึงเช่น Javascript?
AndréParamés

1
@BillThor: ตามความเป็นจริงนี้ขึ้นอยู่กับการใช้งาน Flash Player สามารถเชื่อมต่อกับโปรแกรมอ่านหน้าจอ มีคนไม่มากนักที่เลือกใช้ความเป็นไปได้เหล่านี้ อาจเป็นเพราะพวกเขาไม่สนใจหรือเพราะมันไร้ประโยชน์ เท่าที่ฉันขอโทษสำหรับผู้บกพร่องทางสายตาฉันไม่เห็นคุณค่ามากนักในการสร้างแอพ / เกมที่ฉันเชื่อมโยงสามารถเข้าถึงได้สำหรับโปรแกรมอ่านหน้าจอ ฉันค่อนข้างมั่นใจว่าคุณจะมีเวลาที่ยากลำบากในการใช้ Photoshop โดยที่หน้าจอของคุณปิดอยู่
back2dos

1
@BillThor: เห็นได้ชัดว่าคุณไม่ได้รับจุดหลักของข้อความของฉัน: ผู้คนควรกลับไปใช้เครื่องมือที่เหมาะสมสำหรับงานแทนที่จะใช้สิ่งที่เป็นที่นิยม HTML เป็นเครื่องมือที่ยอดเยี่ยมสำหรับแอปพลิเคชันที่มีเนื้อหาจำนวนมากที่สามารถบันทึกได้ด้วยความหมายของมัน นอกเหนือจากนั้นมันไม่ใช่เครื่องมือที่ดีที่สุดตามหลักการ
back2dos

1
@ back2dos: อย่าพลาดอย่างน้อย ถ้าฉันใช้เครื่องมือที่ดีที่สุดสำหรับงานสำหรับทุกอย่างฉันจะใช้เครื่องมือโหลพวกเขาบางคนปิดบัง จากนั้นการบำรุงรักษาจะยากมาก แต่ฉันใช้เครื่องมือที่คนอื่นในทีมมีประสบการณ์ด้วย เครื่องมือที่เหมาะสมสำหรับโครงการไม่ใช่เครื่องมือพิเศษ
BillThor

1

เทคโนโลยีทุกอย่างยังไม่สมบูรณ์พอสมควร เพียงแค่ดูว่ามีการเปลี่ยนแปลงเท่าใดในช่วง 5 ปีใด ๆ ด้วยเทคโนโลยีมือถือ / แท็บเล็ตมันจะเปลี่ยนอีกครั้ง

ฉันมองว่ามันเป็นการรวมกันมากกว่า มันไม่ได้เป็นเพียง HTML / DOM หรือปลั๊กอิน ฉันเห็นส่วนขยาย HTML สำหรับเข้าถึงคุณลักษณะของอุปกรณ์ ปลั๊กอินสนับสนุนทั้งแนวคิดเดสก์ท็อปและเว็บพร้อมกับนำเสนอความคิดของตนเอง

สิ่งนี้เป็นสิ่งที่ดีหรือไม่ดีทั้งนี้ขึ้นอยู่กับมุมมองของคุณ ในขณะนี้ทีมของฉันทำงานใน SilverLight (ไม่ใช่สำหรับเว็บ) มันไม่ได้เป็นเทคโนโลยีที่ไม่ดี คุณสามารถสร้างแอปพลิเคชั่นที่ทรงพลังและน่าดึงดูดมากได้ อย่างไรก็ตามมันมีความซับซ้อนมากกว่ารุ่นก่อน (.Net และบางที Win32) เพราะคุณไม่สามารถทำอะไรได้มากกับเทคโนโลยีเหล่านั้นและความคาดหวังก็ลดลง วันนี้นักพัฒนาส่วนใหญ่ที่เขียนแอปพลิเคชันใด ๆ มักจะแข่งขันกัน (คาดหวังไม่ใช่การแข่งขันจริง) ด้วยสุดยอดของเดสก์ท็อปเว็บและเทคโนโลยีมือถือที่รวมกัน (ความเร็วคุณลักษณะความน่าดึงดูดการใช้งาน ... )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.