WinJs в браузере?

Поиграв немного с новым предварительным просмотром Visual Studio 11, я думаю, что самый интересный вопрос заключается в том, как я могу заставить мое новое приложение на основе javascript работать также в браузере с минимальными изменениями? это возможно? Я полагаю, что идея поддержки javascript предназначена для улучшения кроссплатформенных приложений, я прав?

Я понимаю, что часть кода WinJS вызывает WinRT, но можем ли мы использовать часть кода WinJS и в веб-приложениях?


person CD..    schedule 15.09.2011    source источник
comment
Я думаю, что это возможно, вам нужно пройтись по библиотеке и подделать вызовы winrt, заменить все префиксы ms- на конкретный браузер... Из этого, я думаю, мы получим что-то, что работает, но только на современные браузеры. Я лично очень заинтересован в том, чтобы управление семантическим масштабированием работало в обычном вебе =)   -  person sharp johnny    schedule 04.10.2011
comment
Было бы немного больше работы, чем просто «фальшивые» вызовы WinRT. Вам придется «заменить» те, которые вы используете. Но определенно выполнимо, так как вы можете начать с того, что вы используете сначала.   -  person Bamerza    schedule 16.04.2012


Ответы (5)


Кажется, что все изменилось. WinJS стал доступен на всех платформах... Вы можете попробовать его в браузере здесь: try.buildwinjs.com

WinJS теперь является открытым исходным кодом: блог, github

Используйте эту мощную среду разработки Windows для создания высококачественных веб-приложений для различных браузеров и устройств, помимо Windows, включая Chrome, Firefox, Android и iOS.

person Sorskoot    schedule 02.04.2014
comment
Вышла версия 3, которая имеет лучшую поддержку: blogs.windows.com/ buildingapps/2014/09/17/winjs-везде - person Ben Adams; 18.09.2014
comment
Чтобы воспроизвести примеры на сайте try.buildwinjs.com локально, вы можете использовать необходимые ссылки JS из cdnjs: cdnjs.com/ библиотеки/winjs . Это первый обнаруженный мной образец использования WinJS в отдельном браузерном приложении — apptastic.laurenraeorsini.com . Это просто, но показывает, как собрать части вместе - person mvark; 21.09.2014
comment
Ознакомьтесь с предварительной версией v4 github.com/winjs/winjs#build-winjs. На данный момент WinJs является СЕРЬЕЗНЫМ конкурентом других гибридных фреймворков. - person Matthew Pitts; 18.05.2015

Я здесь, на сборке, и, основываясь на том, что сказали ребята из Microsoft, WinJS вызывает Windows RT. Кроме того, некоторые из их материалов основаны на некоторых материалах префикса поставщика css (например, только для IE10). Итак, короткий ответ - нет, вы не можете.

Больше мыслей. Чтобы было ясно, переход от существующего приложения Html/Js к Win8 должен работать. Некоторые соображения о событиях приложения Win8, а также о внешнем виде — это некоторые проблемы, о которых следует беспокоиться. Но ядро ​​должно работать.

Первоначальный вопрос не отличается от «У меня есть приложение IE9 HTML5/Js, которое я хочу запускать везде (включая IE6, FF2). Возможно ли это?» В их библиотеках много функций, а также используются новые возможности CSS3 (-ms-grid, -ms-float, 3d-преобразования). Насколько я знаю, все их средства распознавания жестов находятся в winRT для «быстрого и плавного» отклика, и ничего из этого вы не можете использовать вне среды Metro.

На мой взгляд, причина, по которой поддерживаются приложения в стиле Win8 Metro, заключается не в кроссплатформенных приложениях, а в увеличении числа разработчиков, которые могут писать приложения для Win8.

person Andre    schedule 15.09.2011
comment
С другой стороны, вам не обязательно использовать WinJS, хотя на практике это очень помогает. - person Pavel Minaev; 16.09.2011
comment
Как вы думаете, C# останется мейнстримом? имплантация javascript закончится так же, как J #? - person CD..; 17.09.2011
comment
@CD Я думаю, что C# изначально останется мейнстримом. Для многих C# проще и привычнее. Но у Javascript, вероятно, больше шансов стать основным языком для приложений Win8 Metro в будущем. Какой лучший способ выучить Javascript, чем создать приложение и разбогатеть? Если вы не разбогатеете (большинство из них не разбогатеет), у вас все еще есть дополнительное преимущество в том, как быть эффективным с помощью html5/css3 и javascript. - person Andre; 19.09.2011
comment
Было бы неплохо, если бы мы могли создать веб-сайт с помощью WinJS, который работает так же, как новый Outlook.com или Skydrive.com. - person Jacob Morrison; 12.12.2012

Да, это делается с помощью HTML-компонентов lightswitch.

Вы можете загрузить и установить lightswitch, чтобы увидеть примеры использования кросс-браузера winjs. Он использует объекты-обещания и т.д.

person John Bowyer    schedule 29.11.2012
comment
Просто для уточнения - пока LightSwitch поддерживает создание кроссплатформенных. кросс-браузерных мобильных HTML-клиентов и использует подмножество WinJS, похоже, что он не использует никаких конкретных вызовов API WinRT (которые характерны для Win8). - person CyberMonk; 30.01.2013

Существует альтернатива winjs, которая должна работать в браузерах: http://www.bluesky.io/ did' хотя еще не пробовал.

person Tadeusz Wójcik    schedule 28.04.2013

Если вы пишете игры, это возможно, вы можете легко переносить их между городским приложением и веб-приложением без необходимости менять букву кода. Это потому, что вы на самом деле не используете библиотеку WinJS.

Для веб-приложений я бы не советовал этого, потому что это означало бы, что вы не можете использовать инфраструктуру WinRT. Это также будет означать, что вы потеряете много функций. Например, что с поиском и обменом чарами. По сути, они предназначены для приложения Metro, но не используются в веб-приложении.

Платформа WinRT также оптимизирована для повышения производительности. Поэтому рекомендуется использовать это вместо фреймворка, такого как jQuery или другого фреймворка. Вероятно, будет медленнее.

Другой вопрос, который вы должны задать себе: если вы можете написать это для Интернета, зачем вам превращать его в приложение Metro? Какова будет ценность этого?

Последнее, что я хочу сделать, это следующее: веб-приложения (на данный момент) предназначены для работы в сети. При работе с метро-приложением необходимо помнить, что приложение также должно работать в автономном режиме. Это означает дополнительную абстракцию.

Как упоминал Андре в своем ответе. HTML5/JS предоставляет только дополнительный способ разработки приложения. Microsoft только что сделала возможным, чтобы больше людей могли писать приложения на языке, который им знаком.

person Kristof Degrave    schedule 16.08.2012