Che_Bu_Rashka: Забыли написать, чем вызвано это требование.
Вот у меня куча идей для самого разного софта, а спроси меня, что из этого софта я бы сделал кроссплатформенным, так сразу и не отвечу.
Григорий Дикий: НЕТ, обычно стараются выбирать не тот язык, на котором "можно написать всё", но хреново, а тот язык, который хорошо заточен под одну конкретную платформу - под которую и пишут.
Под винду обычно пишут на C#, а не на C++, и уж тем более не на Java или Python.
Под Android - на Java.
Они используются далеко не везде. Просто они кроссплатформенные, а всякие дураки раздувают, будто "кроссплатформенный" всегда значит "всеплатформенный" (или хотя бы "дохренаплатформенный").
C# под винду в большинстве случаев самый мощный и удобный, как ни крути.
Насчет VM, так .NET уже с WinVista по дефолту стоит, да и на XP давно пора ставить.
XML - один из форматов представления различных сложных данных (унифицированный, чтобы легко парсить и генерировать стандартными библиотеками многих языков без велосипеда)
Такой же формат, как CSV (тут уж гугл в помощь), XLS, XLSX, BMP, PNG и т.д. Одни форматы более заточены для конкретных данных, другие - более универсальные (как XML).
В вебе это один из форматов, в котором REST API может возвращать ответ на запрос
А почему нет? При асинхронной модели есть события, вот в этом событии и выполнять тот код, который должен выполниться после получения ответа. Пример с аяксом - тут: codeproject.com/Tips/1065669/How-To-Build-Web-Site... там скрипт возвращает HTML, который вставляется в DOM
thehighhomie: ОК, для удобства связи лучше писать на какой-нибудь e-mail, например vfrgbthnyjtmkjnyrhtb@mail.ru (не обращайте внимание на рандом, просто банють меня на ответах майл сру часто), насчет скинуть гайд, также дайте свой e-mail, постараюсь не забыть потом))
thehighhomie: либо разбирайтесь сами (ага, т.е. "погугли", "RTFM", "бери-сниффер-Fiddler-и-копай" и т.д.) Кстати, сам я обычно только так всё и изучаю. Сперва не понимал, как такое возможно. С опытом научился и гуглить и RTFM так, что за пару дней могу что угодно изучить.
thehighhomie: на клиенте (при авторизации) токен должен сохраниться в куках, на сервере - неважно куда, но удобнее в БД, ведь токен будет не один, а много, т.к. может быть много юзеров сразу авторизовано, и все надо хранить, не забывая, какой токен от какого юзера.
> на словах можете подробнее описать?
Могу написать подробнейший гайд, на русском или английском языке, где все по шагам.
Но нуждающихся в таких гайдах - тысячи, а я - один.
Поэтому либо за деньги (от 2000 руб, не меньше), либо так сказать в порядке общей очереди, то есть когда придет вдохновение, я напишу такой гайд на английском на codeproject.com, и вам могу скинуть ссылку
> socket или http
Все просто - если не socket (голый TCP), то http. Ознакомьтесь с обеими технологиями и определитесь, нужны для вашей задачи сокеты или нет. Обычно - нет.
> xml или json или ...
JSON по-любому, и легче по весу, и парсить/генерировать удобнее.
Ну можно опционально сделать и XML (как у VK сделано). Но в основном - JSON.
> А зачем для такого выкосоуровнего инструмента отслеживать такую низкоуровневость как изменение DOM?
Причем здесь уровень?
Вот не понимаю, чем вообще мыслят те, кто додумался за-deprecate-ить Mutation Events и считает подобные фичи - лишними или вредными.
> wait() для ожидания появления данных вычисляемых через JS или подтягиваемых через AJAX.
Какой именно wait()?
> Нужно просто понимать, что Selenium и webdriver в частности писались для тестирования, а не написания ботов
Направления-то сильно схожие.
Написание ботов - это автоматизация всего, что делает юзер в браузере.
И при тестировании тоже желательно иметь возможность автоматизировать ВСЁ. Всё, Карл!
Поддерживаю, за малым исключением.
Все же есть одно применение таким мутантам (сюда же и IronPython, и C++/CLI и пр. подобное, т.е. инструменты, которые пытаются прилепить туда, куда они изначально не подходят)
Это когда есть много кода на данном ЯП, а нужно очень быстро с помощью какой-то там матери портировать его на целевую платформу и заставить таки работать.
Это как шурупы молотком забивать: криво, плохо, зато быстро и не надо уметь пользоваться отверткой.
Куки сниффятся (и вообще отлеживаются) элементарно. HTTP-сниффер вообще не слышали? Так скачайте Fiddler и посмотрите в нем свои куки. И чужие тоже. А еще в некоторых браузерах (не буду говорить каких) куки можно видеть.
Так что никаких паролей в них не должно быть.
В куках должен быть токен - уникальный "пароль", которы рандомно генерируется на стороне сервака, сохраняется там где-то, проверяется при любых запросах (открыл вкладку в браузере и т.д.) и удаляется при выходе (logout)
> Интересует актуальность использования HTML5 в мобильной разработке
HTML5 лишь язык разметки интерфейса, вместе с CSS.
А логика, доступ к ОС - все это через JS со специальными API (из обвязки браузерного движка вроде WebView, в котором все это и выполняется).
> Может есть какие-то фреймворки для этого дела?
Есть, например, Cordova/PhoneGap
> какова скорость разработки по сравнению с нативными SDK для Android, Windows Phone, iOS?
Обычно ниже, особенно для неопытных.
1) С одной стороны, HTML+CSS вроде как проще и документированнее, чем любая нативная GUI-библиотека.
Но в нем меньше готовых контролов, так что без должного опыта верстки, элементарная композиция из контролов может вырасти в проблему.
2) Вышеупомянутое API у фреймворков - кривое, сырое, недокументированное, мало кому известное и т.д.
3) Сама утилита, которая все это будет билдить, также кривовата.
В общем, если вы опытный веб-разработчик и у вас есть сайт, а из его веб-морды надо очень быстро сделать мобильные приложения (вроде как у VK и др сервисов), и в этих приложениях вообще не особо требуется доступ к API ОС. то вы можете с помощью какой-то там матери завести упомянутую "утилиту", сбилдить хелловорлд и пойти дальше.
В остальных случаях - очень спорно.
kisoluck: я же сказал, нет ничего толком. Искал в свое время. "Добавление IntelliSense" - это не так-то просто. Попробуйте сами написать текстовый редактор с фичами, подобными IntelliSense, и поймете, какая это адова алгоритмика.