HTML5 / JS จะแทนที่ภาษาฝั่งไคลเอ็นต์ทั้งหมดหรือไม่ [ปิด]


12

ฉันแค่สงสัยเกี่ยวกับอนาคตของมันทั้งหมด IMHO มี 4 แรงที่กำหนดว่าเทคโนโลยีจะไปที่ใด: Microsoft, Apple, Google, Adobe

ดูเหมือนว่าใน iAD ของ iPhone / iPad ของ Apple สามารถตั้งโปรแกรมใน HTML5 ได้แล้ว ดังนั้นหมายความว่า HTML5 ในที่สุดจะแทนที่วัตถุประสงค์ -c?

นอกจากนี้ Microsoft ได้เปลี่ยนจากโฟกัสเป็น WPF / Silverlight เป็น HTML5 และฉันคิดว่า Visual Studio 2011 จะสนับสนุนการใช้เครื่องมือสำหรับ HTML5 เพราะนั่นคือสิ่งที่ Microsoft ทำ (Tools) ในไม่กี่เดือน IE9 เบราว์เซอร์หลักล่าสุดจะรองรับ HTML5

ในทำนองเดียวกัน Adobe กำลังอยู่บน bandwagon HTML5 และอนุญาตให้ส่งเนื้อหาแฟลชไปยัง HTML5 ในเครื่องมือล่าสุดของพวกเขา

และเราทุกคนรู้ว่า Google อยู่บนเตียงมากแค่ไหนกับ html5 Heck ระบบปฏิบัติการล่าสุดของพวกเขา (Chrome OS) ไม่ได้เป็นเพียงเว็บเบราว์เซอร์ขนาดใหญ่

แอพสำหรับมือถือ (เช่น iPhone, Android, WM7) นั้นยากมากสำหรับ บริษัท ที่จะเขียนโปรแกรมโดยเฉพาะสำหรับอุปกรณ์ที่แตกต่างกัน (แต่ละแห่งมีภาษาของตัวเอง) ดังนั้นฉันคิดว่ามันจะไม่นานเกินไป เช่น HTML5 จะเป็นภาษาที่รวม สิ่งใดที่ค่อนข้างเศร้าสำหรับนักพัฒนาแอปเพราะตอนนี้ผู้ใช้จะสามารถเล่นแอพ html5 "เจ๋ง ๆ " ได้ฟรีบนเว็บและมันจะยากสำหรับการเรียกเก็บเงิน

ภาษาที่ถูกพิมพ์อย่างรุนแรงนั้นถึงวาระแล้วและในอนาคตประมาณ 5-10 ปีการเขียนโปรแกรมฝั่งไคลเอ็นต์จะเป็น HTML5 หรือไม่ เราทุกคนจะกลายเป็นโปรแกรมเมอร์จาวาสคริปต์หรือไม่? :) เพราะสัญญาณชี้ไปที่นั่น ...


1
ผู้สนับสนุนการเพิ่มประสิทธิภาพแบบก้าวหน้าเหล่านั้นจะต้องกลิ้งอยู่ในหลุมฝังศพของพวกเขาในตอนนี้
Gio Borje

2
คุณกำลังบอกว่าประโยชน์ของการพิมพ์ที่แข็งแกร่งจะไม่จำเป็นอีกต่อไป?
Aaron Anodide

1
ฉันคิดว่ามันจะเป็น VS 2012 ไม่ใช่ VS 2011
DeadMG

6
หากเป็นกรณีนี้ฉันจะต้องฆ่าตัวตาย
งาน

2
ฉันเบื่อที่จะต้องกังวลเกี่ยวกับความเข้ากันได้ของเบราว์เซอร์ มันช่างไร้สาระมาก
มัฟฟินแมน

คำตอบ:


14

ฉันคิดว่ามันผิดที่แนะนำว่า HTML5 / JS จะแทนที่ภาษาฝั่งไคลเอ็นต์ทั้งหมด แอปพลิเคชั่นจำนวนมากจะไปทางนั้นในอนาคตปีหรือไม่? ใช่อาจจะ จะทั้งหมดหรือไม่ เลขที่

จุดสำคัญอื่น ๆ ที่ควรทราบคือภูมิทัศน์มีการเปลี่ยนแปลงตลอดเวลา HTML5 เป็นเทคโนโลยีที่ยอดเยี่ยมที่สัญญาว่าจะแก้ปัญหามากมายที่นักพัฒนากำลังประสบเมื่อพยายามเขียนแอปพลิเคชันที่ทำงานข้ามแพลตฟอร์ม แน่นอนว่า HTML5 / JS สามารถแก้ไขปัญหาเหล่านั้นได้หลายอย่าง แต่ภูมิทัศน์จะเปลี่ยนไปและปัญหาชุดใหม่จะหมดไป ในที่สุด HTML5 ก็จะดูเหมือนวันที่

ใน 10 ปีถามตัวเองว่า HTML5 / JS เป็นวิธีแก้ปัญหาทั้งหมดหรือไม่และฉันทำได้ แต่รับประกันได้ว่าคำตอบจะไม่ ใน 20 ปีคำถามตัวเองอาจดูไร้สาระ


+1 ฉันเห็นด้วยอย่างยิ่ง มองย้อนกลับไปในประวัติศาสตร์เล็กน้อย "ล่าสุดและยิ่งใหญ่ที่สุด" จะถูกแทนที่ด้วยใหม่ล่าสุดและยิ่งใหญ่ที่สุดเสมอ นี่เป็นส่วนหนึ่งของการเขียนโปรแกรมที่ยอดเยี่ยมมากมันจะมีวิวัฒนาการ
Beth Whitezel

สิ่งต่าง ๆ วิวัฒนาการด้วยความเร็วที่แตกต่างกัน - เช่นการโต้ตอบกับผู้ใช้คอมพิวเตอร์ - punchcards, จากนั้นแป้นพิมพ์, จากนั้นหนู - ฉันมักจะสงสัยว่ามีอะไรต่อไปเพราะมันอาจพิสูจน์ได้ว่าเป็นผู้เปลี่ยนเกมรายใหญ่ แป้นพิมพ์ / เมาส์? ฉันคิดอย่างนั้น - แม้ว่าจะไม่แน่ใจว่าเมื่อใด
Aaron Anodide

6

Javascript เป็นภาษาการเขียนโปรแกรมที่แย่มาก การแปลจากภาษาการเขียนโปรแกรมแบบคงที่เช่น Java กับ GWT กำลังกลายเป็นเรื่องธรรมดามากขึ้น Javascript อาจกลายเป็นภาษาที่รวมเป็นหนึ่งเดียวกับแอสเซมเบลอร์ - คุณสามารถเขียนโดยตรง แต่ไม่ค่อยเป็นความคิดที่ดี


1
ไม่ทราบเกี่ยวกับภาษาที่พิมพ์แบบคงที่เท่านั้น แต่ถ้าคุณโยน jQuery หรือ MooTools หรือสิ่งที่อยู่ในนั้นฉันจะเห็นด้วยกับคุณ :)
Damovisa

8
ฉันไม่เห็นด้วยกับคุณว่า JavaScript เป็นภาษาที่ไม่ดีอย่างนี้ไม่ถูกต้อง! :) เนื่องจากดูเหมือนว่ามีโปรแกรมเมอร์ขี้เกียจมากมายที่รู้จัก Java หรือภาษาฝั่งเซิร์ฟเวอร์อื่นเป็นเวลาหลายปีและพวกเขาไม่ต้องการพัฒนาตนเองโดยการเรียนรู้ภาษาใหม่และพวกเขาบอกว่า JavaScript แย่: D นั่นคือเหตุผลที่มีเครื่องมือมากมาย และกรอบการสร้าง JavaScript ด้วยภาษาฝั่งเซิร์ฟเวอร์! JavaScript ไม่ได้เป็นเว็บของเล่นมันเป็นภาษาจริง!
Zango

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

ฉันไม่สามารถจินตนาการได้ว่าทำไมฉันถึงชอบการเขียน Java 50 บรรทัดโดยหวังว่าการเปลี่ยนแปลงของฉันจะเป็นแบบ hot-swap เมื่อฉันสามารถเขียน Javascript สิบบรรทัดและโหลดหน้าเว็บซ้ำ หรือเว็บรีสตาร์ทเซิร์ฟเวอร์ถูกตัดออกเมื่อฉันไม่ได้มองหาอะไร?
วินไคลน์

5
ฉันเขียนซอฟต์แวร์เชิงพาณิชย์ประมาณสิบภาษาในอาชีพของฉันและฉันเขียน JavaScript ทุกวัน จาวาสคริปต์เป็นภาษาที่สมเหตุสมผลเนื่องจากมีการคิดค้นและดำเนินการในช่วงสองสามสัปดาห์ในปี 2538 ดังนั้นฉันก็ไม่เข้าใจคำขอโทษของ JavaScript มีข้อบกพร่องร้ายแรงที่ต้องใช้รหัสที่มีความรับผิดชอบเพื่อหลีกเลี่ยงคุณสมบัติบางอย่างของภาษาอย่างสมบูรณ์และใช้งานอื่น ๆ ในลักษณะที่ไม่ได้มีจุดประสงค์เพื่อให้การทำงานที่ขาดหายไป บางทีพวกเขาอาจไม่ใช้มันสำหรับโครงการขนาดใหญ่? ฉันพบว่าการใช้มันสำหรับระบบขนาดใหญ่ที่มีตัวแปลงสัญญาณหลายตัวค่อนข้างยาก
PeterAllenWebb

1

ใช่.

นี่คือเหตุผล แอพประกอบด้วยรหัสส่วนต่อประสานผู้ใช้และข้อมูลส่วนหลัง รหัสส่วนต่อประสานผู้ใช้ทำงานใน HTML5 / CSS3 / Javascript รหัสแบ็คเอนด์สามารถเป็นกรรมสิทธิ์และใช้ในภาษาใดก็ได้ นอกจากนี้ jQTouch และไลบรารี่ที่คล้ายกันสามารถใช้เพื่อเลียนแบบ UIs ที่เหมือน iPhone แต่โอเพ่นซอร์สและเขียนใน Javascript / HTML5 / CSS jQTouch ได้แสดงให้เห็นว่าหากเบราว์เซอร์อนุญาตให้โปรแกรมเมอร์ JS เข้าถึงกิจกรรม UI ของอุปกรณ์โปรแกรมเมอร์ JS จะเลียนแบบสไตล์ UI ใดก็ตามที่อยู่ในรูปแบบของแพลตฟอร์มเดียวกัน

โปรแกรมเมอร์จาวาสคริปต์จะเป็นที่ต้องการมากกว่าที่เคย ในสถาปัตยกรรม model-view-controller โมเดลและคอนโทรลเลอร์อยู่ใน back-end แต่โค้ดมุมมองเขียนได้ดีที่สุดในเบราว์เซอร์ เช่น HTML5, Javascript, CSS และคุณต้องเขียนรหัส JS เพื่อเข้าถึงข้อมูลส่วนหลังโดยเฉพาะอย่างยิ่งรหัส AJAX ที่หนักหน่วง

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

แอพแบบสแตนด์อโลนส่วนใหญ่ไม่ค่อยดีเท่าที่ฉันคิด เช่นเดียวกับแอพพลิเคชั่นพีซีแบบสแตนด์อโลนที่ยอดเยี่ยมเพียงไม่กี่แอพและแอพที่ดีที่สุดจะถูกแปลงเป็นแอพพลิเคชั่นเว็บ เป็นการดีกว่าที่จะแจกแอปไคลเอนต์ HTML / JS / CSS ฟรีและเสียค่าธรรมเนียมรายเดือนสำหรับการเข้าถึงข้อมูลส่วนหลังและตรรกะทางธุรกิจ โปรแกรมเมอร์จะทำการขายการสมัครสมาชิกได้ดีกว่าแอป One-shot

BTW ได้ดูวิดีโอนี้เกี่ยวกับการเขียนส่วนหนึ่งของเว็บแอพแบบสแตนด์อโลนบนเบราว์เซอร์ Webkit มันน่าสนใจ...


1
สิ่งที่ดีอย่างหนึ่งเกี่ยวกับแอพ "one-shot" คืออย่างน้อยคุณไม่จำเป็นต้องทำชื่อผู้ใช้ / รหัสผ่านที่น่ารำคาญเหมือนคุณทุกที่ในเว็บ รัฐจะถูกบันทึกไว้ในเครื่อง นอกจากนี้แอพฝั่งไคลเอ็นต์จำนวนมากไม่จำเป็นต้องใช้แบ็คเอนด์ คิดว่าเกมแฟลช และใครในโลกที่สมัครเป็นสมาชิกเกมฟุตบอลแม่ฟุตบอล? ไม่มีใคร. และใครในโลกที่ซื้อแอพมือถือ ทุกคน น่าเสียดายที่ฉันกลัวว่า html5 จะฆ่าแอป มันดีที่มีนักพัฒนาอิสระทำเงินสักครั้ง

@Schnitzel - นักพัฒนาอิสระจะทำเงินถ้าพวกเขาสร้าง back end
Jay Godse

2
-1 สำหรับ "การเพิ่มผลิตภาพจะไปเป็นภาษาที่ตีความแบบไดนามิก" - ซึ่งเป็นความเท็จในความคิดของฉัน ฉันมีประสิทธิภาพมากขึ้นในภาษาที่พิมพ์และเรียบเรียงแบบคงที่เช่น Scala ฉันพบข้อผิดพลาดได้เร็วขึ้นมากใน IDE ของฉันโดยตรงกว่าที่ฉันเคยมีกับภาษาแบบไดนามิกเช่น PHP, Python และ Ruby
Jonas

ฉันไม่เห็นประโยชน์ใด ๆ เลยสำหรับการใช้ PHP / Ruby / Python แทน Scala
Jonas

@Jonas - คำถามของคุณเองที่programmers.stackexchange.com/questions/7516/…แนะนำว่าภาษาแบบไดนามิกเป็นผู้นำในการเพิ่มประสิทธิภาพการทำงาน
Jay Godse

1

มีความตั้งใจที่จะแทนที่ภาษาการเขียนโปรแกรมเช่น C ++, Java ... ด้วย HTML / Javascript มีเหตุผลหลายประการที่อยู่เบื้องหลังนั้นมีบางส่วน:

  • พัฒนาได้เร็วขึ้น
  • แรงงานที่ถูกกว่า
  • สร้างการเชื่อมต่อ
  • ง่ายต่อการผลิตสิ่งที่ดูดี
  • ข้อความสามารถเข้าถึงเอนจินการทำดัชนี

ถึงกระนั้นภาษาอื่น ๆ ก็อาจจะปรากฏขึ้นเพื่อใช้เป็นแบบแทนที่สำหรับ JavaScript ท้ายที่สุดมันก็ยากที่จะมีภาษาที่สามารถทำทุกสิ่งได้อย่างถูกต้องในขณะที่อยู่ในระดับสูง! และ JavaScript ได้รับรอบในขณะที่และสะสมข้อบกพร่องบางอย่าง

JavaScript อาจจบลงด้วยการเป็นภาษาหลักสำหรับฝั่งไคลเอ็นต์ แต่ฉันไม่คิดว่ามันจะเป็นหรือไม่ควรเป็นภาษาเดียวเพราะ JS เป็นภาษาที่ขับเคลื่อนด้วยมาตรฐานออกแบบโดยผู้รับมอบหมายนี่จะฆ่านวัตกรรม ในระดับนั้น (ภาษาการเขียนโปรแกรม)


0

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

นอกจากนี้คุณต้องคำนึงถึงประสิทธิภาพของแอปพลิเคชันไคลเอนต์ด้วย ในกรณีที่จำเป็นเครื่องมือเฉพาะแพลตฟอร์มจะถูกนำมาใช้ ใช้เกมและแอพ iOS เป็นตัวอย่าง ฉันรู้ว่า WebGL ออกมาได้ดี แต่ฉันรู้สึกว่าผู้คนยังคงใช้ C เพื่อสร้างเกม หรือพวกเขาจะสร้างภาษาเกมที่สร้างเกมที่มีประสิทธิภาพสูง ในตอนแรก Apple ต้องการ webapps เพียงอย่างเดียว แต่เมื่อนักพัฒนาเห็นความมหัศจรรย์ของ Cocoa พวกเขาก็เพิ่มขึ้นเพื่อสร้างแอพที่ดีงาม

เมื่อต้องการสรุปมันจะมีเครื่องมือ / ภาษา / เทคโนโลยีใหม่ที่จะเย็นกว่ารุ่นปัจจุบันเสมอ


0

ไม่ใช่ทั้งหมด แต่อาจเป็นส่วนใหญ่ บางที javascript อาจเร็วพอที่จะแทนที่HashCalcแต่ไม่มีทางเลือกอื่นสำหรับ VLC (เบราว์เซอร์ไม่รองรับ codec เหล่านั้นทั้งหมด) ฉันสงสัยว่าเว็บเบราว์เซอร์จะอนุญาตให้ฉันเข้าถึงไฟล์ใด ๆ ที่ฉันต้องการหรือจัดเก็บรายชื่อไฟล์ล่าสุด (โดยไม่มี "นี่เป็นการเข้าถึง" ทุกครั้งที่ฉันคลิกไฟล์ล่าสุด) และฉันไม่ชอบแนวคิดของการกระจายแอปที่เป็นเว็บเบราว์เซอร์ 99% (หลาย mb) ด้วยโค้ดขนาด 100kb ของฉันเมื่อมันมาถึงกรณีที่ตัวแบ่งรหัส bc เบราว์เซอร์ไม่เข้ากันได้กับ html ย้อนหลังหรือฉันต้องการเปลี่ยนแปลง / webkit เล็กน้อย

- แก้ไข - ฉันชอบภาษาแบบคงที่มากกว่าแบบไดนามิก แต่ฉันสมมติว่าฉันสามารถใช้ภาษาที่ดีกับ LLVM ซึ่งควรได้รับการสนับสนุนโดยเบราว์เซอร์


-1

ฉันคิดว่าเราจะไปในทิศทางนั้นต่อไปจนกว่าเบราว์เซอร์จะกลายเป็นระบบปฏิบัติการจากนั้นทุกอย่างจะเริ่มต้นใหม่ในลำดับเดียวกัน แต่ด้วยบทเรียนที่ได้เรียนรู้และปรับปรุง

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