Рубрика «Веб-разработка» - 363

Добрый день дамы и господа,

На хабре есть не так много статей на тему GWT (Google Web Toolkit) и в большинстве своем написаны они в ключе «какая это бяка, ничего не умеет, ничего не понятно». Кроме того, как показывает мой опыт, большинство программистов о GWT вообще ничего не слышали, а те кто слышал, думают, что больше чем на „Hello World“он не способен. Я постараюсь показать вам, что с помощью этого замечательного Фреймворка можно делать такие вещи, которые большинству JavaScript программистам просто не по зубам.

Перед началом небольшое отступление, т.к. вопрос «а зачем?» обязательно прозвучит. Этот сайт я написал на GWT, т.к. у меня и выбора то не было. С HTML,CSS, PHP и JavaScriptом я знаком(был) весьма поверхностно( как собственно и большинство Java-программистов), а вот идея и желание были. А потому использовал я что имел и получилось вроде весьма не плохо.

Посмотрите на этот сайт. Да это не шедевр, но он показывает, что GWT может все, что может JavaScript и даже больше. Почему больше? Ответ на этот вопрос полностью совпадает с ответом на вопрос: «почему С++ может больше чем Assembler?». На эту тему я предлагаю подискутировать в комментариях. А мы возвращаемся к GWT. Нет ничего лучше( мое стойкое убеждение), чем объяснять что либо на примере, а посему я предлагаю вам препарировать этот сайт.

image
Читать полностью »

Я отыскивал способ выяснить DPI устройства для употребления в мобильном дизайне. Я ещё не обнаружил его, зато нашёл приём для выяснения того, пользуется ли читатель сайта ретиновым дисплеем. Вот как без хлопот достичь этого:

var retina = window.devicePixelRatio > 1 ? true : false;

Теперь переменная retina примет значение true, если у читателя ретиновый дисплей. В дальнейшем можно использовать простой оператор if, чтобы выполнить тот или иной код в зависимости от типа дисплея.

if (retina) {
    // у читателя дисплей типа retina
}
else {
    // у читателя дисплей не типа retina
}

Зачем?

Читать полностью »

Я закончил разработку бета-версии своего оптимизатора загрузки JavaScript — jWidget SDK.

github.com/enepomnyaschih/jwsdk/wiki

jWidget SDK — это небольшой скрипт, сборщик (прекомпилятор) вашего JavaScript. Это обертка вокруг YUICompressor, которая автоматизирует сборку проекта и дает очень гибкую конфигурацию. Инструмент совместим с любой архитектурой сервера, со всеми JavaScript-фреймворками. Инструмент бесплатный, с открытым исходным кодом и имеет лицензию LGPL.

Инструмент успешно протестирован на нескольких коммерческих проектах с разной серверной архитектурой. В том числе (не имею права дать ссылки):

— Чистый веб-сервис на Java + AJAX + JS. Особенность приложения: весь-весь-весь контент рендерится динамически через JavaScript, и приложение грузится почти мгновенно благодаря браузерному кэшированию
— Один шахматный клиент на jQuery, встроенный в сайт на Zend Framework
— Клиент одного приложения на Adobe Air

Читать полностью »

Переодически встречаю статьи про способы хранения паролей, например сегодня. И хочу предложить свой способ.
В статье используется MD5, можно взять любое другое хеширование.

Общие рассуждения

Когда передо мной встала задача авторизации пользователей, я пришел к выводу что хранение паролей, в любом виде, недопустимо. Ни в открытом виде, ни в виде хеша, кроме того недопустима передача пароля в открытом или хешированном виде по сети, при авторизации пользователя на сайте. Причины просты:

  • передачу пароля можно перехватить (троян, обезьяна в середине)
  • базу с паролями могут украсть, и расшифровать

Читать полностью »

Выкладываю обещанный небольшой обзор нововведений и небольших, на мой взгляд, недоделок (не багов), которые постарался исправить в пользовательнком скрипте.

1) Рассмотрение сайта под углом вёрстки и скриптов породило ряд замечаний и наблюдений, которые будут интересны всем — и разработчикам фронтенда, и остальным пользователям сайта.

2) Небольшое, чисто деловое сообщение: скрипт, подерживающий вёрстку и делающий различные улучшения интерфейсов на Хабре, HabrAjax, уже выложен на свой хостинг с исправлениями, учитывающими новую вёрстку. Подверглись обновлениям, конечно, и стили ZenComment.
Читать полностью »

image
Привет всем. Сегодня я поведаю о своей разработке для Google Chrome и Pivotal Tracker — PIRO. Начнем по порядку.

PivotalTracker — сервис для управления софтверными проектами по «гибким» методологиям. Более подробно можно узнать из этой статьи на Хабре. Сам по себе трекер отличный, но при работе с ним у меня возникали определенные проблемы:

  • При работе с несколькими проектами неудобно переключатся между ними
  • Тяжело узнать в каких проектах созданы задачи на Вас или же какой статус задач, которые Вы создали на других людей
  • Если вдруг вы работаете с несколькими PivotalTracker акаунтами, то переключение происходит или перелогином или же каждый акаунт в отдельном браузере (кто как крутится)

Немного поразмыслил, я закатал рукава и начал писать свое решение для PivotalTracker. В ходе работы я показывал его людям, они подключались и помогали мне в его реализации. Поэтому в конце проекта его решили сделать Open Source :)

Читать полностью »

По теме jQuery слайдеров на хабре написано достаточно интересных и поучающих статей. И все-же я решился написать еще одну.
Программа, которую мы сегодня рассмотрим, позволяет создавать самые разнообразные jQuery слайдеры с большим количеством стилей и эффектов. Плюс есть дополнительные настройки для более точной передачи настроения. Программа поддерживает довольно много языков включая русский. Есть небольшие пробелы в переводе, но в целом, интерфейс интуитивно-понятный и не создаст хлопот в освоении. Есть еще один недостаток, демо версия программы рисует в нижнем углу маленький серый прямоугольник со ссылкой на сайт разработчиков. Но это легко исправить.
Читать полностью »

image

Может, для гуру javascript данная статья будет не интересна, а вот для начинающих разработчиков, наверняка — полезна.
Сразу оговорюсь, что в статье будет использоваться только чистый javascript без подключения сторонних фреймворков (например jquery).

Писать javascript в декларативном стиле гораздо удобнее:

  • Возможность привязать конкретному html-блоку нужный javascript функционал
  • Возможность писать javascript код наподобие css (к объекту привязывать свойства)
  • Улучшить читаемость кода, перенеся логику, связанную с конкретными html-блоками, в отдельные файлы
  • И много чего ещё. Попробуйте и сами все увидите.

Итак, приступим.

Читать полностью »

Веб разработка / RealSync — односторонняя синхронизация исходников в реальном времени для веб разработчиковПредставляю общественности утилиту RealSync (GPL). Ее призвание — облегчить работу тех, кто периодически мучается от лагов сетевой папки Samba при поиске/редактировании файлов веб-проекта. Идея RealSync в том, что вы теперь работаете с файлами сайта на локальной машине в привычной IDE, а результат, как и прежде, смотрите на удаленном разработческом веб-сервере, куда RealSync копирует изменения в реальном времени. В результате вы можете, например, запустить поиск по всем файлам в IDE — они же локальные, а не подключены через сетевую папку по Samba,Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js