Рано или поздно все web-разработчики сталкиваются с ситуацией, когда Internet Explorer становится проблемой, тормозящей разработку проекта. Сайт свёрстан валидно, по стандартам. Нормально отображается в Mozilla, Opera, Safari и других нормальных браузерах. Но. Открываем его в IE. И видим. Как то, что мы подгоняли по пикселям, строго придерживаясь стандартов, размазано по странице. Ладно ещё в IE7 можно более-менее просто подогнать вёрстку (конечно зависит от дизайна), но от IE6 иногда волосы встают дыбом. К счастью, существуют способы, которые позволяют повлиять на ситуацию. Кто-то использует хаки, кто-то — conditional comments. Где-то можно пойти на компромис и упростить задумку дизайнеров, поддерживая пользователей недобраузеров.
kdx @kdx
Пользователь
Свершилось — Jevix 1.0
2 мин
2.5KJevix — система автоматического применения правил набора текстов (типографика) разработанная в ТМ™ для собственных проектов (Хабр, Кадабра, Дрибблер), с открытым исходным кодом, наделённая способностью унифицировать разметку HTML/XML документов, контролировать перечень допустимых тегов и атрибутов и предотвращать возможные XSS-атаки в коде документов.
В связи с катастрофической нехваткой времени, не смотря на мои обещания, код версии 1.0 выложен только сегодня. Но зато он всё же вышел! Причём вместе с исправлением вчерашнего хабрабага с перечёркиванием текста.
Теперь Jevix доступен на google code. Я не поссорился с Juks — автором perl-версии (если кто что подумал) — просто с google code мне работать проще.
+103
Что на самом деле сделал Google
3 мин
2.3KЯ осознал. Только что. Наверное, я тормоз… но пока эта мысль нигде не озвучивалась.
Итак, пока все спорят, насколько хорош браузер Chrome, меряются тестами и ждут портов на Линукс и Мак, основная революция произойдет совсем не там.
Она кроется в маленькой незаметной кнопочке «создать ярлыки приложения».
Воспользовавшись этой функцией, вы получаете на рабочем столе или в главном меню ярлык на свой любимый сайт, который откроется без панели навигации и прочих ненужных элементов. Например, я первым делом создал такой ярлык для Google Reader. И удивился, насколько шустро он стал работать. Ну собственно, ничего удивительного. Наверняка для своих приложений Гугл оптимизировал JavaScript и собственный же движок.
Ну да суть не в этом. Что я получил? Я получил отличный, удобный, шустрый RSS-reader, который ничуть не уступает своим традиционным аналогам. Потом я наткнулся на забавную статью о том, как можно тем же способом получить неплохой калькулятор. А сколько уже небольших, приятных сервисов существует в сети? Тут и календари и текстовые редакторы и даже сложные графические приложения.
А теперь вспоминаем, какие основные особенности нового браузера от Google: оптимизация работы JavaScript (ускорение просто в разы!) и самостоятельные потоки для каждого окна. То есть одно кривое приложение не подвесит и не повалит остальные (сейчас может, но это исправят). В результате мы получаем… почти идеальную платформу для приложений.
Полная кросс-платформенность. HTML и JavaScript худо-бедно, но работают на любой операционной системе (где будет Google Chrome). Простота разработки и огромное количество готовых фреймворков. Огромное количество удобных бесплатных редакторов и сред разработки. Решение проблемы с обновлениями софта. Пользователь автоматически работает с самой последней версией. Замечательная обратная связь и статистика. Вы будете совершенно точно знать, какие функции вашей программы наиболее востребованы, оценивают ли пользователи ваши гениальные идеи или применяют приложение совершенно неожиданным способом. Кстати, не удивлюсь, если в Chrome встроен сборщик статистики, который отправляет много интересной информации вКорпорацию Зла Google. Но не удивлюсь и в том случае, если он туда не встроен. :)
Теперь следующий тонкий момент: браузер с открытым исходным кодом. Значит, наработками Google смогут воспользоваться и разработчики других, альтернативных браузеров. Даже великий и ужасный IE сможет включить аналогичные функции. И вот как раз это Google и надо. Зачем распространять свой браузер, если основную фичу можно продвинуть руками конкурентов. И пусть даже доля Chrome будет два процента, но если при этом все остальные браузеры станут поддерживать интернет-приложения, Google своего добьется.
А добьется он того, к чему стремится уже очень давно: повальной миграции пользователей на веб-приложения и сервисы. И кажется, на этот раз у него это получится. Да, серьезный софт, завязанный на сложные вычисления или требующий низкоуровневой работы с железом, никуда не денется. Но посмотрите сами на свой рабочий стол. Много там таких приложений? А сколько всяких мелких утилит для ежедневной работы? А ведь приличное их количество может работать через веб, ничуть не теряя функциональности.
К слову, никто не мешает делать ссылку и на локальную копию веб-сайта. И не удивляйтесь, если завтра ваша любимая программа X выйдет не в виде исполняемого файла, а в виде кучи HTML и JS кода, распакованного на ваш жесткий диск.
В общем, скоро мы окажемся в новом мире. Которым будет править не Microsoft, но Google.
Итак, пока все спорят, насколько хорош браузер Chrome, меряются тестами и ждут портов на Линукс и Мак, основная революция произойдет совсем не там.
Она кроется в маленькой незаметной кнопочке «создать ярлыки приложения».
Воспользовавшись этой функцией, вы получаете на рабочем столе или в главном меню ярлык на свой любимый сайт, который откроется без панели навигации и прочих ненужных элементов. Например, я первым делом создал такой ярлык для Google Reader. И удивился, насколько шустро он стал работать. Ну собственно, ничего удивительного. Наверняка для своих приложений Гугл оптимизировал JavaScript и собственный же движок.
Ну да суть не в этом. Что я получил? Я получил отличный, удобный, шустрый RSS-reader, который ничуть не уступает своим традиционным аналогам. Потом я наткнулся на забавную статью о том, как можно тем же способом получить неплохой калькулятор. А сколько уже небольших, приятных сервисов существует в сети? Тут и календари и текстовые редакторы и даже сложные графические приложения.
А теперь вспоминаем, какие основные особенности нового браузера от Google: оптимизация работы JavaScript (ускорение просто в разы!) и самостоятельные потоки для каждого окна. То есть одно кривое приложение не подвесит и не повалит остальные (сейчас может, но это исправят). В результате мы получаем… почти идеальную платформу для приложений.
Полная кросс-платформенность. HTML и JavaScript худо-бедно, но работают на любой операционной системе (где будет Google Chrome). Простота разработки и огромное количество готовых фреймворков. Огромное количество удобных бесплатных редакторов и сред разработки. Решение проблемы с обновлениями софта. Пользователь автоматически работает с самой последней версией. Замечательная обратная связь и статистика. Вы будете совершенно точно знать, какие функции вашей программы наиболее востребованы, оценивают ли пользователи ваши гениальные идеи или применяют приложение совершенно неожиданным способом. Кстати, не удивлюсь, если в Chrome встроен сборщик статистики, который отправляет много интересной информации в
Теперь следующий тонкий момент: браузер с открытым исходным кодом. Значит, наработками Google смогут воспользоваться и разработчики других, альтернативных браузеров. Даже великий и ужасный IE сможет включить аналогичные функции. И вот как раз это Google и надо. Зачем распространять свой браузер, если основную фичу можно продвинуть руками конкурентов. И пусть даже доля Chrome будет два процента, но если при этом все остальные браузеры станут поддерживать интернет-приложения, Google своего добьется.
А добьется он того, к чему стремится уже очень давно: повальной миграции пользователей на веб-приложения и сервисы. И кажется, на этот раз у него это получится. Да, серьезный софт, завязанный на сложные вычисления или требующий низкоуровневой работы с железом, никуда не денется. Но посмотрите сами на свой рабочий стол. Много там таких приложений? А сколько всяких мелких утилит для ежедневной работы? А ведь приличное их количество может работать через веб, ничуть не теряя функциональности.
К слову, никто не мешает делать ссылку и на локальную копию веб-сайта. И не удивляйтесь, если завтра ваша любимая программа X выйдет не в виде исполняемого файла, а в виде кучи HTML и JS кода, распакованного на ваш жесткий диск.
В общем, скоро мы окажемся в новом мире. Которым будет править не Microsoft, но Google.
+234
Верстаем, верстаем!
1 мин
3.8KПосле того, как я опубликовал давече тему о создании макета страницы, нам с тов. CurlyBrace пришла в голову одна интересная мысль: а не сделать ли того, что мы умеем делать лучше всего?
Да, вы правы! Денис любезно сверстал данный макет валидным и семантичным XHTML. Он — молодец, а я ему немного в этом подсобил, доделав небольшую деталь. Он большое внимание уделил размеру страницы и её исходного кода.
Внимание: топик не содержит WYSIWYG!
Да, вы правы! Денис любезно сверстал данный макет валидным и семантичным XHTML. Он — молодец, а я ему немного в этом подсобил, доделав небольшую деталь. Он большое внимание уделил размеру страницы и её исходного кода.
Внимание: топик не содержит WYSIWYG!
+38
Новая версия LiveStreet 0.2
2 мин
1KПрошло около двух месяцев с момента анонса релиза LiveStreet — бесплатного движка хабра-подобной социальной сети.
Что было сделано за это время?
Во-первых, большая работа над ошибками/багами, к слову, которых, как и в любом свежем продукте, было предостаточно. Но благодаря активному содействию комьюнити, сформировавшегося вокруг LiveStreet, большое число багов было выявлено и жестоко подавлено =)
Во-вторых, существенное улучшение функционала. Если раньше сделать на базе LiveStreet функциональный блого-социальный сервис было проблемно, то теперь с выходом новой версии это вполне возможно. Опять же, большинство улучшений было сформировано активными пользователями движка.
Стоит отметить что за это время было более 2000 закачек дистрибутива движка, не считая чекаутов из общедоступного SVN репозитария.
Итак, что нового нас ждет в LiveStreet 0.2:
Что было сделано за это время?
Во-первых, большая работа над ошибками/багами, к слову, которых, как и в любом свежем продукте, было предостаточно. Но благодаря активному содействию комьюнити, сформировавшегося вокруг LiveStreet, большое число багов было выявлено и жестоко подавлено =)
Во-вторых, существенное улучшение функционала. Если раньше сделать на базе LiveStreet функциональный блого-социальный сервис было проблемно, то теперь с выходом новой версии это вполне возможно. Опять же, большинство улучшений было сформировано активными пользователями движка.
Стоит отметить что за это время было более 2000 закачек дистрибутива движка, не считая чекаутов из общедоступного SVN репозитария.
Итак, что нового нас ждет в LiveStreet 0.2:
+76
Как сайт может отправлять события…
6 мин
1.5KДавным-давно (я уже не помню когда, но давно) я собрался и запустил для себя сайт. Сначала он использовался просто как склад того, что нужно кому-то передать. Потом совершенно случайно образовалось свободное время и получилось заполнить сайт чем-то осмысленным и (надеюсь) полезным. И очень захотелось быть в курсе событий, происходящих на сайте. Самое простое решение — отсылать письма, что и было сделано. Однако через некоторое время появилось желание избавиться от писем с сайта так как поток служебной почты в течении дня превышает разумные пределы.
+87
Веб-типографика сегодня. Часть V
12 мин
28KЧасть I — Часть II — Часть III — Часть IV — Часть V — Часть VI
Очевидно, что в сфере высоких технологий развитие зачастую происходит быстро и бурно. Так произошло и со средствами отображения информации. В течении каких-то двух-трёх лет обычные ЭЛТ-мониторы почти целиком и полностью были вытеснены стремительно дешевеющими ЖК-собратьями. Что позволило существенно улучшить как геометрию отображения, так и цветопередачу, а также снизить утомляемость глаз за счёт отсутствия вредного мерцания. И если несколько лет назад подобное утверждение в пользу TFT-панелей можно было бы оспорить, то теперь этот факт не вызывает ни у кого сомнений: ЖК-дисплеи намного лучше для повседневной работы рядового пользователя. В связи с этим фактором возникла необходимость поиска качественно новых алгоритмов отображения шрифтов. Одно из таких решений пусть не сразу, но всё же получило определённое признание в среде пользователей, и на сегодняшний день является чуть ли не самым популярным на современных платформах. Речь, конечно же, о технологии рендеринга ClearType, которая послужила причиной разработки новых веб-ориентированных шрифтов…
Часть V
Очевидно, что в сфере высоких технологий развитие зачастую происходит быстро и бурно. Так произошло и со средствами отображения информации. В течении каких-то двух-трёх лет обычные ЭЛТ-мониторы почти целиком и полностью были вытеснены стремительно дешевеющими ЖК-собратьями. Что позволило существенно улучшить как геометрию отображения, так и цветопередачу, а также снизить утомляемость глаз за счёт отсутствия вредного мерцания. И если несколько лет назад подобное утверждение в пользу TFT-панелей можно было бы оспорить, то теперь этот факт не вызывает ни у кого сомнений: ЖК-дисплеи намного лучше для повседневной работы рядового пользователя. В связи с этим фактором возникла необходимость поиска качественно новых алгоритмов отображения шрифтов. Одно из таких решений пусть не сразу, но всё же получило определённое признание в среде пользователей, и на сегодняшний день является чуть ли не самым популярным на современных платформах. Речь, конечно же, о технологии рендеринга ClearType, которая послужила причиной разработки новых веб-ориентированных шрифтов…
+2
Сервис Вопросы-Ответы: как правильно дать ответить на вопрос?
2 мин
3.9KДоброго времени суток, уважаемые Хабрапользователи!
Некоторое время назад мы начали разрабатывать систему вопросов-ответов (две малоизвестные компании уже создали по аналогу: ответы mail.ru или ответы Google). И мы, кроме прочего, поставили задачу избавиться от всех недочётов и проблем, которые мы выявили в существующих подобных системах.
+6
Визуализируем данные на JavaScript
3 мин
4.4KПеревод
Развитие компьютерной графики подталкивает нас к изобретению всё новых способов графического представления данных. Разрабатывались различные прикладные программы для визуализации данных на локальных компьютерах. Однако всё изменилось с развитием интернета: в нём содержатся колоссальные объёмы информации, которые нам постоянно хочется представить как-то удобнее, дружелюбнее, понятнее. Что же мы имеем на сегодняшний день?
Существует немалое число серверных библиотек и утилит, способных генерировать сложные графики. Однако я считаю, что такой подход не всегда оптимален. Если мы можем производить визуализацию на стороне клиента с помощью JavaScript, то почему бы нам не воспользоваться такой возможностью? Логика работы подобной связки проста: сервер генерирует данные, а клиент их визуализирует.
Разумеется, вы можете воспользоваться Flash, Silverlight или Java-апплетами, однако в этом обзоре я хотел бы вам показать библиотеки визуализации, написанные на чистом JavaScript.
+70
1000 замечательных иконок для веб страниц
1 мин
6.5KFugue Icons
Отличный пак из 1000 иконок в размере 16x16
Эти иконки распространяются по лицензии Creative Commons Attribution 3.0 license.
Ссылка на сайт
Скачать пак | Посмотреть иконки (1199.25 КБ)
+69
Веб-типографика сегодня. Часть I
7 мин
27KЧасть I — Часть II — Часть III — Часть IV — Часть V — Часть VI
Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.
Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
Часть I
Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.
Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
+112
20 полезных дополнений FF, которых у вас нет
5 мин
8.3KПоследние два месяца мое увлечение плагинами FF переросло в настоящую страсть. С приходом третьей версии «лиса» стало возможным устанавливать несколько десятков дополнений без нагрузки на систему.
Сейчас в моем арсенале более 50-ти дополнений при растратах памяти всего в 110 Mb.
Прежде чем постоянно использовать плагин, я тщательно тестирую его на предмет проф-пригодности, нахожу аналоги, взвешиваю альтернативы. Вам предлагаю самые сливки для удобного веб-серфинга в сети. Итак, начнем…
Сейчас в моем арсенале более 50-ти дополнений при растратах памяти всего в 110 Mb.
Прежде чем постоянно использовать плагин, я тщательно тестирую его на предмет проф-пригодности, нахожу аналоги, взвешиваю альтернативы. Вам предлагаю самые сливки для удобного веб-серфинга в сети. Итак, начнем…
+34
Мифы SQL. Продолжение.
10 мин
15KНедавно опубликованная на хабре статья Мифы SQL хабаролюдям понравилась. И многие попросили привести примеры почему все работает именно так и не иначе.
+10
Выкатываем в бой
6 мин
3.5K Внедрение конечного веб-продукта является не самой приятной процедурой для создателя и часто сопровождается жутким стрессом. Нелюбовь разработчика к релизам связана не только с чувствами ответственности и страха перед эксплуатацией новой версии, но и с ощущениями неопределенности: а что будет после того, как внедримся?
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
+70
rubymag — журнал о языке Ruby на русском языке
1 мин
1.1KСегодня наша команда открыла очередной проект — rubymag. Это электронный журнал посвященный языку Ruby и всему, что с ним связано.
Идея rubymag появилась благодаря нашему предыдущему проекту rubyflow.ru. Rubyflow — социальные новости о языке Ruby, отобранные сообществом разработчиков. За два месяца работы этот сайт приобрел несколько десятков пользователей и каждый день его читают несколько сотен человек.
Но проблема в том, что формат статьи на rubyflow.ru ограничен лишь анонсом в пару абзацев, а очень часто бывают интересные материалы с более обширным описанием. Кроме того, есть полезные статьи на английском, которые недоступны некоторым разработчикам в силу незнания этого языка.
Суммируя все это, мы решили открыть отдельный ресурс, на котором будем публиковать статьи о проектах, библиотеках и событиях. Каждую неделю на rubymag.ru несколько новых статей, а также по пятницам обязательный дайджест о событиях за неделю.
Узнавать об обновлениях журнала можно собственно на сайте rubymag.ru, через RSS, подписку по электронной почте или Twitter.
Мы желаем вам приятного чтения.
Идея rubymag появилась благодаря нашему предыдущему проекту rubyflow.ru. Rubyflow — социальные новости о языке Ruby, отобранные сообществом разработчиков. За два месяца работы этот сайт приобрел несколько десятков пользователей и каждый день его читают несколько сотен человек.
Но проблема в том, что формат статьи на rubyflow.ru ограничен лишь анонсом в пару абзацев, а очень часто бывают интересные материалы с более обширным описанием. Кроме того, есть полезные статьи на английском, которые недоступны некоторым разработчикам в силу незнания этого языка.
Суммируя все это, мы решили открыть отдельный ресурс, на котором будем публиковать статьи о проектах, библиотеках и событиях. Каждую неделю на rubymag.ru несколько новых статей, а также по пятницам обязательный дайджест о событиях за неделю.
Узнавать об обновлениях журнала можно собственно на сайте rubymag.ru, через RSS, подписку по электронной почте или Twitter.
Мы желаем вам приятного чтения.
+40
Инструкция по развёртыванию полноценной среды для совместной удалённой разработки с Django в Windows. Для абсолютных новичков.
3 мин
93KСтатья не претендует на универсальность, но статья — есть работоспособная инструкция по развёртке среды «с нуля» до этапа «пишем первую строчку кода». В комментариях принимаются советы и рекоммендации по улучшению инструкции.
+33
120 dpi и шрифты в em
8 мин
12KШрифты в Em/% хороши всем — возможностью пользователей IE увеличивать кегль, заботой о пользователях, что предпочитают увеличивать размер шрифта браузера по-умолчанию, чтоб лучше видеть текст, да и просто являются нормой для профессиональных верстальщиков.
Минусы: … их вроде как нет, но!
А что если у пользователя разрешение экрана выставлено не в стандартное 96 dpi, а в 120?
Сайт с увеличенными шрифтами смотрится уже не так красиво, как нарисовал дизайнер — ведь масштабируются только шрифты, а не весь сайт! А разрешение 120dpi становится всё популярней, особенно на ноутбуках! Что же делать? Возвращаться к px?
Нет!
+143
Средства для визуального проектирования
2 мин
63KВсем известно, что для успешной разработки веб-сайта/веб-сервиса/программы (нужное подчеркнуть) очень важен этап проектирования. Грамотный план разработки — это половина всего проекта. Понятно, что прежде всего необходимо техническое задание, в котором будут описаны требования, сроки, и т.п. Но еще большее значение имеет визуальное проектирование, а именно: UML-схемы, схемы БД, пользовательские интерфейсы, эскизы страниц…
+37
jQuery для начинающих. Часть 3. AJAX
11 мин
454KПредставляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов...
+65
Полномасштабная разработка проекта
2 мин
1.5KЧего-то сегодня не спится совершенно… Возможно это тот самый знак, которого я так долго ждал? А знак мне нужен был, что бы решиться начать серию статей на основе реальной разработки проекта средних масштабов. Но не просто разработке в общем смысле этого слова, и даже не о разработке на основе Zend Framework, Doctrine ORM и пр. и пр., а о разработке начиная с постановки задачи, анализа и проектирования (с необходимой степенью глубины), поиска решений и реализации.
И раз уж первый абзац уже набран, то смысла останавливаться не вижу :) Приглашаю всех поучаствовать в процессе, который будет проходить на основе UP.
И раз уж первый абзац уже набран, то смысла останавливаться не вижу :) Приглашаю всех поучаствовать в процессе, который будет проходить на основе UP.
+35
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Дата рождения
- Зарегистрирован
- Активность