Мысли о html разработке под Windows8

Автор: admin от 28-11-2011, 12:17, посмотрело: 1607

Не так давно я писал про возможность написания приложений под windows8 на html. Буквально вчера, помогая человеку с бухучета с вузовским заданием по веб разработке (да!!! у тех, кто учится на бухгалтера есть предмет, на котором их учат-заставляют верстать html) мне задали вопросы про статические страницы и динамические, что это как работает. В результате этих вопросов мой стройный мир веб разработки рухнул под напором вопросов девушки с бухучета. А затем я еще рассказал про разработку приложений под Win8 на html и тут мой мир был растоптан вопросами. Мои мысли очень путанные, но постараюсь донести их.

Предисловие:

Я сформулировал от себя, что динамические страницы — это страницы генерируемые, в то время как статические — вроде как были созданы программистов и в неизменном виде дальше живут на сервере. Мол в динамических страницах постоянно идут запросы на сервер за новыми страницами, которые генерируются на сервере. Но мне привили в пример контакт — там динамические или статические страниц? Я ответил — динамические и был прав, но со мной начали спорить. Провели эксперимент — девушка села и 5 минут нажимала разные кнопки, переходила по ссылкам, пользовалась всем функционалом, но ни одного полного обновления страницы не было. Это такой сайт с 1 страницей, который обновляется частично и все построено на javascript. Девушка задала вопрос: “Страница была сгенерирована на сервере 1 раз (а может даже статически отдана и не генерировалась даже) и затем я работаю со всеми данными, но страница на сервере не генерируется, а собирается у меня в браузере на клиенте “(Мне иногда кажется, что всем надо учиться у математиков и юристов строгим формулировкам терминов). Затем меня спросили, а приложения для windows на html- это статические или динамические… Я ответил — это вообще не веб разработка. Это разработка под Windows, но на языке разметки HTML+ логика пишется на js. Девушка выдала — “плохая у вас логика у программистов. Какая разница веб или не веб разработка! Статическая страница — это страница, которая не меняется. Динамическая — это страница, которая меняется или которой нет, она динамически генерируется. ТОЧКА!” Девушка заставила меня задуматься о многом.

Почему я так отвечал на вопросы:

Я .net разработчик и для меня веб разработка — это всегда в контексте asp.net (MVC или WebForms- не важно). Для меня веб — это запрос к серверу за html и ответ в виде html. Я редко писал ajax запросы за данными, редко писал отдачу json данных и обновление страницы без перезапроса страницы полностью. Таков был мой мир и мне хватало. CRUD приложения так и пишутся в большинстве своем.

HTML в контексте Windows8:

Задумавшись над словами девушки, я понял, что я вообще не веб разработчик. Я разработчик на .net немного знающий и слышавший о html-css,js и веб разработке. Когда говорят, что html на windows привлечет много веб разработчиков — это таких как я не касается, привлекать будут не нас. Для нас будут старые добрые xaml приложения в стиле Metro, будут все ранее известные приложения, но не html Metro приложения. Мы будем их писать так, как мы привыкли писать windows приложения и все будет хорошо как и раньше, просто новый тип проекта.

Почему?

Очень просто — мы (такие как я .net разработчики) пишем код на C#, а не на javascript, мы пишем веб для генераторов HTML, таких как Razor (или другой генератор), и совсем чуть-чуть на html. По сути, мы имеем очень посредственное отношение именно к вебу, и почти полностью принадлежим .net. А для HTML на Windows8 нужно именно разработки принадлежащие вебу и html+javascript. Страницы ведь не обрабатываются сервером по запросу локально в windows8. Страницы созданы и динамически подцепляют данные из сети или других ресурсов. Обращений на сервер за html не происходит. Постоянные запросы, обновление страницы на основе пришедших данных. Все это характерно для тех, кто пишет именно веб приложения по серьезному, а не как запросы к серверу для CRUD операций как .net-чики(да думаю и java-исты так же пишут)

Идеи портирования MVC-WebForms приложений как HTML Windows metro приложения

Не так давно, я слышал идеи, что после того как появятся html5 приложения под windows8, можно будет прийти на Tile панель к каждому пользователю. Сайты получат возможность закрепиться на «рабочем столе»(то, что у пользователя всегда на глазах ибо рано или поздно но человек нажмет на этот «ярлык»). Что будет очень хорошо, тк снизит зависимость от поисковиков для сайтов, даст рост клиентов, возможность работать через Market Placa. В общем счастье уже казалось близко. Стоп- а как вы будите портировать к примеру MVC3 приложение под Win8?
  • Если у Вас приложение работает как вконтакте- 1 страница, а дальше все js+ json+ajax то ваша жизнь прекрасна. Правок будет мало, просто копируете html и js в приложение, меняете дизайн под Metro и дело в шляпе. Благо переписать CSS быстрее чем написать все с нуля.
  • Или можно взять как есть, засунуть в браузер контрол ссылку на ваш сайт и приложение готово. Но это ведь не html5 windows приложение. Это просто страница в браузере и html metro приложения тут вообще не причем, я уже молчу про дизайн в стиле Metro в таком случаи надо еще сделать.
  • А можно переписать приложение, так чтобы оно было по сути несколько страниц, дергающие сервисы, получающие json и предоставляющие данные. Да- это будет полноценный клиент сайта на html. А какой процент кода Вы переиспользуете при таком способе? Если приложение изначально написано не как тип1 выше, то переиспользование кода будет минимально- новая разработка почти с нуля.
  • Веб разработчикам тоже придется по-другому думать и работать.

    До этого я говорил, что .net разработчики работают в другой парадигме и, наверное не станут перестраивать под новую. Но ведь и html-веб разработчикам придется работать немного в непривычной манере. Они ведь ранее не работали с ресурсами, которые предоставляет операционная система. Ранее в их распоряжении был только браузер и сеть (не будем о local storage браузера и activx компонентах). Теперь же, они смогут использовать ресурсы, которых в их руках не было ранее и опыта работы с ними на js нет у них. В общем, их мозг и шаблоны тоже будут искажены. Сразу в голове начали крутиться мысли, что раз есть доступ к системе из js, то сразу умельцы начнут придумывать как взломать систему через это. Конечно ребята из Microsoft подумали о безопасности, но абсолютно безопасная система как известно выключена из электрической и интернет сети, находится в сейфе на Марсе. Все остальное взломать можно. Я слышал, что в Лаборатории Касперского сканируют сайты на наличие зловредов, но тут им придется сканировать еще и html на Windows на наличие зловредов. В общем будет весело для вирусо-писателей и антивирусо-писателей.

    Выводы, которая я сделал для себя лично:

    Windows 8 заставит всех программистов немного под другим углом посмотреть на то, что они пишут и откроют возможности ранее не доступные. Я не знаю хорошо это или плохо, но точно будет интересно. Ходят слухи, что в январе покажут Windows 8beta...(там конференция будет важная+ если самсунг и другие производители железа говорят, что продавать начнут планшеты с win8 во второй половине 2012, то значит, что бета должна быть уже к весне наверное) Подождем и увидим. CTP- это конечно было круто, но я хочу увидеть Beta версию.



    Категория: Операционные системы » Windows

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *