Переваги та недоліки використання програм 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 - це не просто реалізація веб-перегляду. 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 тощо).
День

3
"Перерізати мотузку" - це ретельно підібрана дитина-афіша. Зауважте, у ньому одночасно відбувається порівняно невелика кількість речей. Якби він мав сотні спрайтів, як сучасні настільні ігри, як правило, він би намагався показати гідний FPS, що працює на JS.
День

2
Гей Ден - ваші коментарі, здається, не додають до дискусії. Ви кажете, що оскільки він не складений в машинний код, його не було б добре використовувати для програм метро? На ваш другий коментар про Cut the Rope ви б не писали "сучасну настільну гру" з великою кількістю FPS в JavaScript або XAML, тому я вважаю, що це не має значення для дискусії.
Філіп Берч

1
Філліп, ти сказав, що "ти не будеш писати" сучасну настільну гру "з великою кількістю FPS в JavaScript або XAML," чи можливо тоді зробити сучасну гру для пристроїв Windows 8? І якщо так, чи обмежуватимуться сучасні ігри лише пристроями Intel, оскільки пристрої ARM підтримують лише WinRT?
Ein Doofus

1
@PhillipBurch: моя думка полягає в тому, що "рідне", "першокласне", "потужне і швидке" - це помилковий вибір слів. І я, безумовно, подумав би використовувати C # + SharpDX / MonoGame (звичайно не XAML) для розробки високопродуктивних ігор для Metro (ARM - це вже інша історія).
День

4

І те й інше. Оскільки обидва приймаються розробниками (хоча це не одночасно, я маю на увазі, коли деякі розробники використовують XAML / C #, а інші використовують HTML / JS). Для тих, хто надходить із фонової програми розробника веб-додатків, простіше перейти до HTML / JS. А для тих, хто знайомий з XAML через WPF та Silverlight, було б доцільно переносити навички на XAML + C #. Що стосується результатів, то обидві технології показують хороші результати. Тому я здогадуюсь, що обидва були б однаково гарні в наступні роки.


3

Додатки Metro, побудовані за допомогою API HTML5 / JS, ймовірно, будуть класифіковані як "простіші" порівняно зі своїми C # / XAML аналогами. Хоча перші, безумовно, зможуть створювати функціональні, добре розроблені додатки, безсумнівно, буде обмеження можливостей програми, побудованого в HTML5. З іншого боку, хоча C # може бути більш спроможним, це також складніше. Додаток HTML5 буде дуже простим у розробці та обслуговуванні порівняно.

Принаймні, це моя найкраща оцінка. У мене немає досвіду розробки програм Win8 (поки що).


3
Я не думаю, що це так. Вони обидва мають доступ до абсолютно однакових API в WinRT.
Ян

2

Обидва будуть запускатися на WinRT (він же зрізаний варіант Windows 8, який використовується на пристрої MS Surface ).

Це повністю залежатиме від переваг розробників . Таким чином, розробники з досвідом HTML5 / JS будуть однаковою мірою розробляти для Windows 8.


WinRT НЕ "Відомий також як" Windows 8. Це знята версія повноцінної ОС Windows 8, яка працює тільки на метро / програми та працює на планшетах на основі ARM.
treecoder

Так, Windows 8 - це не виграш RT. Однак якщо це був сенс, який ви отримуєте, читаючи мою відповідь, я зробив це твердження більш явним.
Юсубов

1

Не програміст з MS - з точки зору програмістів, варто було б вкласти свій час і зусилля в агностик платформи, відкритий стандарт на зразок JS + HTML 5. Отримані знання можна повторно використовувати в іншому місці.

Win 8 підтримує JS споконвічно , тому не вдасться досягти його використання.


0

Так, у більшості випадків JavaScript є рідною мовою. Залежно від того, де він працює, його компілюється (JIT Style) у машинний код.

Наприклад, якщо ви працюєте в браузері Chrome, двигун V8 робить саме те, що було зазначено вище. Я розумію, що IE 10 робить те саме, що і в інших переважаючих браузерах, які підтримують стандарт ECMAScript 262.

Entou, у більшості випадків JavaScript більше не є інтерпретованою мовою. Це повноцінна, всебічна мова програмування, заснована на прототипі, на базі клієнта / сервера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.