LINUX.ORG.RU

Gemini-клиент Lagrange 1.2

 , , lagrange, ,

Gemini-клиент Lagrange 1.2

11

5

Вышла новая версия красивого и полнофункционального Gemini-клиента — Lagrange, написанного на языке C с использованием библиотеки SDL.

Gemini — это новый протокол прикладного уровня, по своему предназначению являющийся простой альтернативой HTTP и усовершенствованной альтернативой Gopher, то есть проектом «посередине» между ними в плане сложности. Он появился как реакция на недостатки последних, в особенности HTTP. В основу его дизайна легли идеи уважения приватности пользователя и сознательного отказа от расширяемости в пользу консервативного сохранения спецификации в минимальном, но удовлетворяющем пользовательские потребности виде (сейчас она заморожена). Проект использует уже знакомые многим стандарты, вроде URI, MIME и TLS. Проект не использует HTML, CSS и JavaScript — для разметки файлов предлагается похожий на Markdown формат Gemtext, а запуск кода и применение стилей на стороне клиента не предусмотрены. Для интерактивного взаимодействия с сервером существует CGI и потоковая отправка сообщений клиенту с помощью долгоживущего TCP-соединения (вследствие чего, например, возможна реализация чата). Сайты принудительно используют шифрование с помощью TLS без CA — вместо него используется механизм TOFU, а для аутентификации пользователей используются пользовательские сертификаты.

Сообщество разрастается интересными для пользователей проектами, вроде поисковой системы GUS, агрегатора новостей CAPCOM, каталогом Gemini-капсул (так называются местные сайты) Medusae, техническими демо возможностей протокола, вроде анонимной текстовой доски, агрегатора ссылок и чата. Доступны прокси как для просмотра Geminispace с помощью HTTP [1] [2] [3], так и для просмотра HTTP с помощью Gemini, и то же самое для Gopher.

Протокол достаточно прост, чтобы любой желающий мог создать свой клиент и сервер — чего нельзя сказать о текущем состоянии современного WWW с тысячами страниц спецификаций. По этой причине уже существует разнообразие проектов энтузиастов и активная дискуссия в почтовой рассылке проекта.

Lagrange является одним из таких проектов — небольшим Gemini-клиентом с поддержкой аппаратного ускорения с помощью SDL и плавного листания страниц, отображения картинок на странице, вкладок, тем оформления, закладок, истории, пользовательских сертификатов, оглавлений, новостных лент.

В этом выпуске добавлена поддержка новостных Atom-лент, загрузки отдельных файлов со страницы без открытия новой вкладки, пиктограмм для закладок, поиска по капсулам с помощью выбранной системы в настройках, опция для автоматической перезагрузки страницы по интервалу и изменения в дизайне.

В разработке порт Lagrange на мобильные платформы! А до тех пор пользователи могут попробовать Ariane на Android, например.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: commagray (всего исправлений: 6)
Ответ на: комментарий от pihter

Если предназначенные для этого инструменты оказались дурны, надо улучшить их, а не тащить инструмены из соседней отрасли, хоть оно и кажется логичным на первый взгляд. Завтра интрументы из соседней отрасли изменятся, потому как они для другого нужны и будут развиваться для другого, а ты быдешь вынужден приспосабливаться к использованию неподходящих инструментов, потому что свои ты уже выкинул

Что такое «соседняя область»? JS — уже давно ЯП общего назначения. DOM — графический тулкит, прямая аналогия дерева виджетов из qt или gtk. Браузер — нет аналогов на уровне тулкита. Потому что браузер обеспечивает менеджмент поверх приложения, до которого ни в одной оболочке и ОС не додумались. Я могу видеть историю своих перемещений по приложениям. Могу их искать через всемирные поисковые системы и сразу запускать, не тр…сь с установкой, со сборкой под другую версию gtk или «ваша версия windows не поддерживается». Могу изменять их внешний вид на лету и вмешиваться в работу приложения собственным кодом. Сами фреймворки — вообще сказка. Один только древний jquery на два порядка круче всего этого gtk вместе взятого. И это я говорю как сишник и тулкитофоб.

Надо признать очевидное: будущее за средой исполнения на JS. Это новый «.NET», который наконец-то сделали правильно.

wandrien ★★★
()
Ответ на: комментарий от wandrien

наконец-то сделали правильно

да мысль-то понятна, но с тем, что все сдалали правильно, согласны не все: сам же мазафакинвебсайт приводил, кажется, автор что-то понимает, как и авторы сабжа

pihter ★★★★★
()
Ответ на: комментарий от pihter

да мысль-то понятна, но с тем, что все сдалали правильно, согласны не все: сам же мазафакинвебсайт приводил, кажется, автор что-то понимает, как и авторы сабжа

Не улавливаю связи.

Вас разработчики V8 и SpiderMonkey лично заставляют напихивать по 20 МБ говна на страницу, чтобы показать там слайдер с двумя объявлениями?

А в говнокоде на питоне кто тогда виноват?

wandrien ★★★
()
Ответ на: комментарий от pihter

Помню, делал одну штуку для работы с цветами и цветовыми пространствами. На вебне. Было это еще в те времена, когда единственным способом нарисовать интерактивные слайдеры (слайдеры в смысле не те, что картинки листают, а которые как регулятор громкости) с изменяющимися цветовыми градиентами внутри было взять div-ы толщиной в 1 пиксель и ими попиксельно рисовать. По 256 штук в каждый слайдер плюс обвязка.

Так вот в старой опере эта штука летала на каком-то древнем селероне (Celeron D, что ли?). А в IE не помню какой версии — дико лагала.

И в этом простом приложении не было никаких космических технологий, обычный UI под обычную рядовую задачу. И он работал нормально, память не жрал. Атмосферу браузер не грел за зря.

Сейчас захожу на сайт с обычной документацией, и он, тварь такая, рисует мне шестерёнки на весь экран. Мол, подожди, дорогой, 5 секунд, пока у меня через ajax сервер просрётся.

Вот кто-то их заставлял ajax туда совать? V8 виноват? Или спека HTML5 содержит скрытые сигналы между абзацами «пиши говнокод, всегда пиши говнокод…»?

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

Не улавливаю связи.

Ну, если с интернетом все в порядке, о чем тогда мазафакинвебсайт?

Вас разработчики V8 и SpiderMonkey лично заставляют напихивать по 20 МБ говна на страницу, чтобы показать там слайдер с двумя объявлениями?

По кругу пошли :) я уже на это отвечал раз 5

pihter ★★★★★
()
Ответ на: комментарий от wandrien

взять div-ы толщиной в 1 пиксель и ими попиксельно рисовать Сейчас захожу на сайт с обычной документацией, и он, тварь такая, рисует мне шестерёнки на весь экран. Мол, подожди, дорогой, 5 секунд, пока у меня через ajax сервер просрётся.

Воистину, технологии, которые заслужили. Изобрести удобный молоток? Не, лучше сделаем кучу костылей и подпорок к микроскопу.

anonymous
()
Ответ на: комментарий от pihter

Ну, если с интернетом все в порядке, о чем тогда мазафакинвебсайт?

Именно об этом: не нужно писать говнокод.

wandrien ★★★
()
Ответ на: комментарий от wandrien

И тут gemini в плюсе. Он очень сильно ограничивает возможности говнокодеров к созданию своих копрошедевров.

anonymous
()
Ответ на: комментарий от wandrien

Вот кто-то их заставлял ajax туда совать? V8 виноват? Или спека HTML5 содержит скрытые сигналы между абзацами «пиши говнокод, всегда пиши говнокод…»?

Если что-то может случиться – оно обязательно случится. Сабж как раз решает эту проблему единственным, на мой взгляд, работающим методом.

pihter ★★★★★
()
Ответ на: комментарий от wandrien

Было это еще в те времена, когда единственным способом нарисовать интерактивные слайдеры (слайдеры в смысле не те, что картинки листают, а которые как регулятор громкости) с изменяющимися цветовыми градиентами внутри было взять div-ы толщиной в 1 пиксель и ими попиксельно рисовать. По 256 штук в каждый слайдер плюс обвязка.

а картинку на фон нельзя было?

pihter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.