ข้อดีและข้อเสียในการใช้ XAML / C # หรือ HTML5 / JavaScipt สำหรับแอพ Metro? [ปิด]


19

ฉันแค่สงสัยว่ามีข้อดีหรือข้อเสียที่สำคัญในการใช้ XAML / C # หรือ HTML5 / JavaScript สำหรับ Metro Apps หรือไม่

คำตอบ:


18

พื้นหลังเล็กน้อยฉันสร้างแอพ American Airlines Windows 8 ใน HTML5 ฉันต้องบอกว่ามันวิเศษมาก

ก่อนอื่นปล่อยแนวคิดของ HTML5 ทั้งหมดที่เกี่ยวข้องกับแอพมือถือ ใน Windows 8 JavaScript เป็นภาษาพื้นเมืองชั้นหนึ่ง คุณสามารถเข้าถึงคุณลักษณะฮาร์ดแวร์ทั้งหมดที่แอป XAML ต้องการ นอกจากนี้ยังมีเทมเพลตที่ยอดเยี่ยมที่สร้างขึ้นใน Visual Studio 2012 สำหรับแอปพลิเคชัน WinJs

WinJs ไม่ได้เป็นเพียงแค่ความคิดครึ่งหนึ่งในการนำ webview มาใช้ Microsoft กำลังแสดง JS ในที่สุดความเคารพที่สมควรได้รับ

ฉันขอแนะนำให้เร่งความเร็วด้วย IE10 ที่ใหม่ล่าสุดและยิ่งใหญ่ที่สุด สุจริตนั่นคือกรอบการทำงานหลักสำหรับทุกสิ่งที่ WinJs มันทรงพลังและรวดเร็ว! นี่คือตัวอย่างของสิ่งที่คุณสามารถทำอะไรกับมัน: http://www.cuttherope.ie/

นอกจากนี้ที่นี่เป็นสถานที่ที่เหมาะสำหรับการเริ่มต้นกับ WinJs: http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx

อนาคตดูสดใสสำหรับ JS เป็นภาษาท้องถิ่นสำหรับ Windows


4
ประการแรก JavaScript เป็นภาษาสคริปต์ไม่ใช่ภาษาท้องถิ่น (เว้นแต่ฉันจะพลาดบางสิ่งบางอย่างและตอนนี้ได้รวบรวมไว้ในรหัสเครื่องโดยตรง) ประการที่สองมันไม่ใช่ภาษาชั้นหนึ่งใน Win8 เนื่องจากมีไว้เพื่อใช้ในการพัฒนาแอพ Metro ไม่ใช่แอพใด ๆ (แอพเดสก์ท็อป, เกม DirectX 11 เป็นต้น)
Den

3
'Cut the Rope' เป็นเด็กโปสเตอร์ที่คัดเลือกมาอย่างดี สังเกตว่ามันมีสิ่งต่าง ๆ เกิดขึ้นค่อนข้างน้อยในเวลาเดียวกัน หากมีสไปรต์นับร้อยเนื่องจากเกมเดสก์ท็อปสมัยใหม่มักจะพยายามต่อสู้เพื่อแสดง FPS ที่เหมาะสมที่รันบน JS
Den

2
สวัสดี Den - ความคิดเห็นของคุณดูเหมือนจะไม่เพิ่มในการสนทนา คุณกำลังบอกว่าเพราะมันไม่ได้รวบรวมไว้ในรหัสเครื่องที่ไม่ควรใช้กับแอพ metro? ความคิดเห็นที่สองของคุณเกี่ยวกับ Cut the Rope คุณจะไม่เขียน "เกมเดสก์ท็อปสมัยใหม่" ที่มี FPS จำนวนมากในจาวาสคริปต์หรือ XAML ดังนั้นฉันคิดว่านั่นไม่เกี่ยวข้องกับการสนทนา
Phillip Burch

1
Phillip คุณพูดว่า "คุณจะไม่เขียน" เกมเดสก์ท็อปสมัยใหม่ "ที่มี FPS จำนวนมากใน javascript หรือ XAML" เป็นไปได้ไหมที่จะสร้างเกมที่ทันสมัยสำหรับอุปกรณ์ Windows 8? และถ้าเป็นเช่นนั้นเกมสมัยใหม่จะถูก จำกัด เฉพาะอุปกรณ์ของ Intel เนื่องจากอุปกรณ์ ARM รองรับ WinRT เท่านั้น
Ein Doofus

1
@PillipBurch: ประเด็นของฉันคือ "ดั้งเดิม", "ชั้นหนึ่ง", "อันทรงพลังและรวดเร็ว" เป็นคำที่ทำให้เข้าใจผิด และแน่นอนที่สุดฉันจะพิจารณาใช้ C # + SharpDX / MonoGame (ไม่ใช่ XAML แน่นอน) สำหรับการพัฒนาเกมประสิทธิภาพสูงสำหรับ Metro (ARM เป็นเรื่องที่แตกต่างกัน)
Den

4

ทั้งสอง เนื่องจากนักพัฒนาทั้งสองถูกนำไปใช้ (แม้ว่าจะไม่ใช่ในเวลาเดียวกันสิ่งที่ฉันหมายถึงคือในขณะที่นักพัฒนาซอฟต์แวร์บางคนใช้ XAML / C # บางคนกำลังใช้ HTML / JS) สำหรับผู้ที่มาจากพื้นหลัง dev ของแอปพลิเคชันเว็บการเปลี่ยนเป็น HTML / JS ง่ายขึ้น และสำหรับผู้ที่คุ้นเคยกับ XAML ผ่าน WPF และ Silverlight มันคงสมเหตุสมผลที่จะนำทักษะไปใช้กับ XAML + C # และเท่าที่ผลลัพธ์เกี่ยวข้องเทคโนโลยีทั้งสองแสดงผลลัพธ์ที่ดี ดังนั้นฉันเดาว่าทั้งสองจะดีเท่า ๆ กันในปีต่อ ๆ ไป


3

แอพ Metro ที่สร้างขึ้นโดยใช้ HTML5 / JS API อาจจะจัดอยู่ในประเภท "ง่ายกว่า" เมื่อเปรียบเทียบกับ C # / XAML ในขณะที่อดีตจะมีความสามารถในการสร้างแอพพลิเคชั่นที่ทำงานได้ดี แต่ก็มีข้อ จำกัด ถึงขีดความสามารถของแอพที่สร้างขึ้นใน HTML5 ในทางกลับกันในขณะที่ C # อาจมีความสามารถมากกว่า แต่ก็มีความซับซ้อนมากกว่า แอพ HTML5 จะง่ายต่อการออกแบบและบำรุงรักษา

อย่างน้อยนั่นคือการคาดเดาที่ดีที่สุดของฉัน ฉันยังไม่มีประสบการณ์ในการพัฒนาแอพ Win8 (ยัง)


3
ฉันไม่คิดว่าเป็นกรณีนี้ พวกเขาทั้งสองมีสิทธิ์เข้าถึง API เดียวกันใน WinRT
Ian

2

ทั้งคู่กำลังจะทำงานบน WinRT (หรือที่รู้จักในเวอร์ชั่น Windows 8 ที่ใช้กับอุปกรณ์ MS Surface )

มันทั้งหมดจะขึ้นอยู่กับการตั้งค่าของนักพัฒนา ดังนั้นนักพัฒนาที่มีประสบการณ์ HTML5 / JS จะได้รับการสนับสนุนอย่างเท่าเทียมกันในการพัฒนาสำหรับ Window 8


WinRT ไม่ใช่ "รู้จักกันในอีกชื่อหนึ่งว่า" Windows 8 มันเป็นเวอร์ชั่นเต็มรูปแบบของระบบปฏิบัติการ Windows 8 เวอร์ชั่นเต็มที่ใช้งานได้เฉพาะเมโทร ui / แอพและทำงานบนแท็บเล็ตที่ใช้ ARM
treecoder

ใช่ windows 8 ไม่ใช่ Win RT อย่างไรก็ตามถ้านั่นคือความหมายที่คุณได้รับจากการอ่านคำตอบของฉันฉันได้ทำให้คำสั่งนั้นชัดเจนยิ่งขึ้น
Yusubov

1

ไม่ใช่โปรแกรมเมอร์ MS - จากมุมมองของโปรแกรมเมอร์มันจะคุ้มค่ากับการลงทุนเวลาและความพยายามของคุณในแพลตฟอร์มผู้ไม่เชื่อเรื่องพระเจ้ามาตรฐานแบบเปิดเช่น JS + HTML 5 ความรู้ที่คุณได้รับสามารถนำไปใช้ที่อื่นได้

Win 8 รองรับ JS โดยกำเนิดดังนั้นจึงมีไม่มากที่คุณไม่สามารถใช้งานได้


0

ใช่ในกรณีส่วนใหญ่ JavaScript เป็นภาษาท้องถิ่น คอมไพล์ (JIT Style) ขึ้นอยู่กับตำแหน่งที่มันทำงานอยู่

ตัวอย่างเช่นหากคุณใช้เบราว์เซอร์ Chrome เครื่องยนต์ V8 ทำสิ่งที่กล่าวถึงข้างต้น ฉันเข้าใจว่า IE 10 ทำเช่นเดียวกันกับเบราว์เซอร์อื่น ๆ ที่รองรับมาตรฐาน ECMAScript 262

ในกรณีส่วนใหญ่ JavaScript ไม่ใช่ภาษาที่ตีความอีกต่อไป มันเป็นภาษาโปรแกรมเต็มรูปแบบที่มุ่งเน้นเชิงวัตถุต้นแบบที่ใช้ไคลเอนต์ / ฝั่งเซิร์ฟเวอร์, แพร่หลาย

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