Socket.io 0.x:
— websocket, если не получилось, то
— flash socket,
— long polling,
— ajax,
— JSONp
Основной минус: если не открылся вебсоккет, открывается флешсоккет, у которого время соединения до 5 секунд. Плюс в том, что пробует соединяться по самым быстрым транспортам в первую очередь, и значит, первые сообщения между узлами будут идти с максимальной скоростью.
Socket.io 1.x (и engine.io):
— тот же, что сверху, но в обратном порядке, но я не уверен в том, что flash sockets идут де websockets
Плюс в том, что коннекшен открывается быстро и гарантированно, а потом уже идет наращивание скорости. Минус в том, что переход до оптимального транспорта долгий. Первое время обмен сообщениями будет идти медленно.
Плюс в том, что нет задержки на flash socket, как у Socket.IO 0.x, минус в том, что если с вебсоккетами не судьба, то будут использоваться только медленные способы отправки по HTTP.
Общая рекомендация по вебсоккет-соединениям — юзать TLS. В этом случае все прокси видят зашифрованый трафик и вряд ли будут резать переход на другой протокол.
Кауч или Риак — классные. Но у Монги есть псевдоSQLный язык запросов. Многим гораздо удобнее писать на SQL, чем функции map-reduce. С последними, в общем-то, нет проблем — это скорее дело опыта и привычки, но раз многие SQL и так знают, то и хватаются прежде всего за Mongo.
Для Couch должны были разрабатывать свой язык запросов, но они скучковались с дядей, который пишет SQLite. Он крутой и доктор наук и все такое, но чего-то у них все зависло. Может быть, было бы лучше наизобретать какой-то — пусть кривой, но рабочий -велосипед, чем ждать, пока мудрейший доизобретет все «как надо».
Парень, знающий Эрланг, будет просить дохрена бабла. С другой стороны, за возможность покодить на Ноде многи джаваскриптеры согласятся прийти за скромные деньги.
Другое дело, что в одних библиотеках контекст может передаваться так, в других — иначе. И когда работаешь с несколькими либами сразу, то начинаешь путаться. bind же работает всегда одинаково, так что со временем я на него пересел.
Ace неприятен тем, что предоставляет очень мало выходов наружу. Нормально следить за изменением текста в редакторе практически невозможно — ни эвентов нормальных, ни методов, которые не триггерят перевод курсора. В результате для одного из проектов пересели на Codemirror. Тот вообще-то тоже не сахар, но с ним работать чуточку легче.
Если б пользовался Firefox, проблемы не было бы — Firefox агружает содержимое ранее активных вкладок, только если пользователь на них перешел. Таким образом можно держать несколько сотен вкладок открытыми без ущерба производительности системы.
Мне кажется, что имея такую статью, можно показать ее дизайнеру один раз, когда одна из подобных проблем всплывает в процессе работы. И тогда половина возможных проблем во взаимоотношениях будут решены автоматически. Автор — молодец.
Точно также для меня выглядят сегодня Google и Apple. Накидают всякой фигни с багами и недоделками в движок, а потом показывают разработчикам, как оно все красиво и замечательно. И самое главное — все со своими вендор-префиксами. Зайдите на html5rocks.com — там практически все статьи по CSS испольуют свойства только с -webkit. Никаких -moz, -ms или -o. Так продолжается последние лет пять, и в результате мы имеем кучу кода, который не работает ни в чем, кроме Хрома или мобильного Сафари.
Баги они не фиксят, поддержку своих старых префиксов не убирают, только мчатся вперед с шашками на голо.
А по-моему, много — в Киеве, по крайней мере. Проект на Гитхабе, Багтреккер — в облаке, почта в Гугле, сервера в Амазоне, платежи в Пейпал, в качестве инструментов общения — скайп. Не вижу, чем такой сетап как-то принципиально отличается от того, чтобы иметь свои сервера. Да, дороже, но если бюджет позволяет, то почему нет?
IE, начиная с 9й версии, рендерит шрифты через DirectX, и там уже сам графический движок решает, лучше ли использовать CPU или GPU (интегрированный ли дискретный). Думаю, для Mac и Linux тоже есть хорошее решение. Остаются устройства, но может быть, OpenGL ES тоже что-то похожее умеет.
По моим наблюдениям в Киеве метро загруженнее, чем в Москве. В Москве по выходным вагоны часто идут полупустые, а в Киеве всегда давка, даже не смотря на короткие (2-3 минуты) интервалы ежду поездами. Кроме того, веток мало, а наземный транспорт очень редко следует теми же маршрутами, в основном все маршруты идут из удаленных районов к бижайшей стации. В центре же, где все ветки сходятся, очень сложно добраться из одного места в другое не на метро.
Хмм, как это мне Хабр я этот пост пятилетней давности подсунул?
Да, обновите ядро, а то в Chromium некоторые api для расширений поменялись в последних версиях, и уже возникают проблемы из-за того, что какое-то расширение просто не встает.
Кстати, спасибо, что не стали выпиливать расширения из браузера!
Про взрослые версии сайтов я уже выше написал: это не всегда плохо и не всегда хорошо. У меня сейчас устройство на Андроиде и очень часто при заходе на сайт меня встречает баннер «ой, скачайте лучше наше приложение» без возможности этот баннер обойти. Если же мне это все-таки удается, то сайт на устройстве совершенно неюзабелен. Бывает, что доходит до смешного: новость или какой-то обзор разбит на несколько страниц, но ссылки перехода на следующую страницу не работают.
Про Exchange не знаю, что сказать, но большинство обзоров устройств напирает на то, что-де настоящая интеграция бывает только у самого Микрософта. Понимаю, что для большинства людей довод сомнительный, но есть же еще люди, покупающие Blackberry за их мифические корпоратиные возможности. Туу, думаю, то же самое.
> Свистоперделочных приложений, которые есть на любой платформе
Большинство приложений что на iOS, что на Android, что на WP — полный шлак. Какой-нибудь location-based dating или сайт в рамке из PhoneGap, по-настоящему классных приложений очень мало. Поэтому для большинства важно иметь в аппарате N каких-то функций, предоставляемых из коробки, чем радоваться наличию отдельного приложения. Мне, например, важны карты, чтобы не заблудиться, возможность распознать понравившуюся мелодию, играющую в кафе, да и плеер. Кому-то нужна читалка книг, кто-то любит фотографировать и делиться съеденными пирожными, кто-то любит играть. Важно, что большинство этих функций сегодня есть на любой платформе, будь то iOS, WP или какая-нибудь Bada.
У меня не было цели тролить, я старался привести аргументы, почему я считаю, что найдутся люди, желающие заплаить за планшет от Микрософт.
Socket.io 0.x:
— websocket, если не получилось, то
— flash socket,
— long polling,
— ajax,
— JSONp
Основной минус: если не открылся вебсоккет, открывается флешсоккет, у которого время соединения до 5 секунд. Плюс в том, что пробует соединяться по самым быстрым транспортам в первую очередь, и значит, первые сообщения между узлами будут идти с максимальной скоростью.
Socket.io 1.x (и engine.io):
— тот же, что сверху, но в обратном порядке, но я не уверен в том, что flash sockets идут де websockets
Плюс в том, что коннекшен открывается быстро и гарантированно, а потом уже идет наращивание скорости. Минус в том, что переход до оптимального транспорта долгий. Первое время обмен сообщениями будет идти медленно.
Socks:
— websocket
— HTTP long polling,
— ajax,
— jsonp
Плюс в том, что нет задержки на flash socket, как у Socket.IO 0.x, минус в том, что если с вебсоккетами не судьба, то будут использоваться только медленные способы отправки по HTTP.
Общая рекомендация по вебсоккет-соединениям — юзать TLS. В этом случае все прокси видят зашифрованый трафик и вряд ли будут резать переход на другой протокол.
Для Couch должны были разрабатывать свой язык запросов, но они скучковались с дядей, который пишет SQLite. Он крутой и доктор наук и все такое, но чего-то у них все зависло. Может быть, было бы лучше наизобретать какой-то — пусть кривой, но рабочий -велосипед, чем ждать, пока мудрейший доизобретет все «как надо».
Есть стандарт ISO, возможно еще какие-то.
Из интернета, сами ребята из TC39 неоднократно об этом говорили, по крайней мере в мейлинг-листе. В последнее время, правда, все чаще звучат 2 даты:
— конец 2013 — feature freeze
— конец 2014 — финальная редакция.
Другое дело, что в одних библиотеках контекст может передаваться так, в других — иначе. И когда работаешь с несколькими либами сразу, то начинаешь путаться. bind же работает всегда одинаково, так что со временем я на него пересел.
-webkit. Никаких-moz,-msили-o. Так продолжается последние лет пять, и в результате мы имеем кучу кода, который не работает ни в чем, кроме Хрома или мобильного Сафари.Баги они не фиксят, поддержку своих старых префиксов не убирают, только мчатся вперед с шашками на голо.
Скажи пожалуйста, у тебя только на Rail глаз наметан, или ты еще где-то проблемы ищешь? Интересуют Socket.io, Django и Express.
Хмм, как это мне Хабр я этот пост пятилетней давности подсунул?
Кстати, спасибо, что не стали выпиливать расширения из браузера!
Про Exchange не знаю, что сказать, но большинство обзоров устройств напирает на то, что-де настоящая интеграция бывает только у самого Микрософта. Понимаю, что для большинства людей довод сомнительный, но есть же еще люди, покупающие Blackberry за их мифические корпоратиные возможности. Туу, думаю, то же самое.
> Свистоперделочных приложений, которые есть на любой платформе
Большинство приложений что на iOS, что на Android, что на WP — полный шлак. Какой-нибудь location-based dating или сайт в рамке из PhoneGap, по-настоящему классных приложений очень мало. Поэтому для большинства важно иметь в аппарате N каких-то функций, предоставляемых из коробки, чем радоваться наличию отдельного приложения. Мне, например, важны карты, чтобы не заблудиться, возможность распознать понравившуюся мелодию, играющую в кафе, да и плеер. Кому-то нужна читалка книг, кто-то любит фотографировать и делиться съеденными пирожными, кто-то любит играть. Важно, что большинство этих функций сегодня есть на любой платформе, будь то iOS, WP или какая-нибудь Bada.
У меня не было цели тролить, я старался привести аргументы, почему я считаю, что найдутся люди, желающие заплаить за планшет от Микрософт.