Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.BLOG.MITHGOL
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.BLOG.MITHGOL с датами от 17 Mar 07 10:14:46 до 29 Jul 10 14:55:28, всего сообщений: 6236
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 1186 из 6236 ================================== RU.BLOG.MITHGOL =
От   : Mithgol the Webmaster            2:5063/88          20 Nov 07 13:28:34
Кому : All                                                 20 Nov 07 13:28:34
Тема : Firefox 3 Beta 1 с точки зрения разработчика гипертекстового Фидо
FGHI : area://RU.BLOG.MITHGOL?msgid=2:5063/88+4742d8de
= Кодировка: CP866 ===========================================================
==============================================================================
* изначально написано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию Ru.Mozilla
* также было отослано в эхоконференцию Ru.FTN.Develop


Фонд Мозиллы выпустил на свет Божий первую бету третьего Файерфокса.
http://www.mozilla.com/en-US/firefox/3.0b1/releasenotes/ ── подробности
о новинке; на http://developer.mozilla.org/en/docs/Firefox_3_for_developers ──
полезные разработчикам подробности. Оба документа ── на английском.

Как хорошо-то, Господи! Ещё с лета я ждал появления этой версии Файерфокса,
чтоб начать строить поверх неё свою реализацию гипертекстового Фидонета.
Ожидание было долгим, но оправданным: поглядите-ка, сколько вкусных функций
и способностей добавлено в эту версию Файерфокса её разработчиками!..



Сайты Паутины можно регистрировать как обработчики URLов:

http://tinyurl.com/2h7pgr

Это значит, например, что FGHI-гейт Константина Кузова может встраиваться
в Firefox таким образом, чтобы Firefox мог открывать фидонетовские гиперссылки,
скармливая их гейту.

Приложения и расширения могут проверять, активно ли подключение к Интернету:

http://developer.mozilla.org/en/docs/DOM:window.navigator.onLine

Работают мягкие переносы (­), так что в гипертекстовом Фидонете Marinais
будет не о чем беспокоиться ;-)

Работает свойство window.fullScreen, которое позволяет проверить, на полный ли
экран развёрнуто окошко.

Работает функция getClientRects(), с помощью которой джаваскрипты могут считать
число строк в блоке текста, и даже получать их координаты.

Работает функция elementFromPoint() для получения элемента по его координатам.

Работа с буфером обмена вызывает события oncut, oncopy, onpaste, onbeforecut,
onbeforecopy и onbeforepaste. Их ещё не успел никто документировать более, чем
в баге https://bugzilla.mozilla.org/show_bug.cgi?id=280959 ── но выглядят они
довольно клёво.

Частичная поддержка JavaScript 1.8. Впрочем, эти операторы мне не по нраву,
кроме, разве что, замыкания выражений (expression closures). Описываются тут:

http://developer.mozilla.org/en/docs/New_in_JavaScript_1.8

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

http://weblogs.mozillazine.org/roc/archives/2006/06/the_future_is_now.html

Поддерживаются анимированные PNG. Круто! Полноцветные анимации!!

В расширениях могут рисоваться и использоваться ползунки (скажем, ползунок
громкости звука :-) ── пример вот:

http://developer.mozilla.org/en/docs/XUL:scale

В расширениях появился новый (цифровой) тип текстового поля; снабжается рядом
треугольничками для тыкания в сторону увеличения и уменьшения числа:

http://wiki.mozilla.org/XUL:Specs:NumberBox

В расширениях может использоваться новый прибамбас ── календарь:

http://developer.mozilla.org/en/docs/XUL:datepicker

И ещё один прибамбас ── часы:

http://developer.mozilla.org/en/docs/XUL:timepicker

Помимо выпадающих меню, появилися выпадающие панели:

http://developer.mozilla.org/en/docs/XUL:panel

Появились полупрозрачные меню, а также редактируемые элементы меню
и прочие ништяки.

Появилася возможность навесить проверку правописания на любую текстовую область
в расширении (например, навесить проверку правописания на фидопочту в Fidofox).

Элемент textbox снабжён методом reset() ── для возвращения к первоначальному
(установленному по умолчанию) значению вводимой в него строки.

Также прекрасные совершенно настройки того, как textbox в расширении будет
обрабатывать переносы строки в тексте, который в него вклеивается из буфера:
либо вставлять как есть, либо вставлять только первую строку (так оно настроено
по умолчанию), либо заменять переносы строк пробелами, либо заменять запятыми,
либо игнорировать переносы строк, либо игнорировать и переносы строк, и все те
пробелы, которые вокруг этих переносов стоят. Я, правда, не слишком врубаюсь
ещё, что значит 'вставлять как есть'. Может получиться довольно мрачно, ежели
в однострочном поле будут переносы строки.

Можно создать кнопку, которая, будучи нажата мышою, станет автоповторять
связанную с этой кнопкою команду ── пока кнопку не отожмут.

Автор, название и описание расширения, а также URL его домашней страницы ──
то есть все элементы, отображающиеся в списке расширений ── могут переводиться
на разные языки:

http://developer.mozilla.org/en/docs/Localizing_extension_descriptions

Это можно было и прежде сделать, но возни было много больше. А тут всё проще.

Все расширения должны иметь цифровую подпись для защиты
от обновления их подделками:

http://tinyurl.com/pht4e#Securing_Updates

Можно следить, давно ли пользователь ничего не делал (то есть не двигал мышою
и не топтал клавиши) ── полезно на тот случай, если мне вздумается реализовать
скринсэйвер ── хотя бы такой примитивный текстовый, как в GoldEd+.

Появился кодировщик и декодировщик base64-кодов:

http://developer.mozilla.org/en/docs/DOM:window.atob

http://developer.mozilla.org/en/docs/DOM:window.btoa

Можно создавать джаваскриптовые модули. Даже приводится пример такого модуля:

http://developer.mozilla.org/en/docs/XPCOMUtils.jsm

Места (Places) ── новое средство для хранения и закладок, и истории посещений,
и аннотаций:

http://developer.mozilla.org/en/docs/Places

Менеджер закачек стал новым и крутым. Поддерживает докачку, поддерживает также
и отслеживание закачек расширениями:

http://developer.mozilla.org/en/docs/Monitoring_downloads



Я удивлён, но http://developer.mozilla.org/en/docs/Firefox_3_for_developers ──
несмотря на подробность и глубину копания ── не содержит ни одного упоминания
о нескольких не менее полезных для разработчика компонентах третьей версии
Файерфокса. Однако их упоминание можно разыскать в неофициальном списке
на http://www.squarefree.com/burningedge/releases/trunk-for-firefox-3.html

Это, прежде всего, FUEL 0.1 и FUEL 0.2:

http://developer.mozilla.org/en/docs/FUEL

FUEL прежде всего полезен как движок для работы с настройками Файерфокса, а ещё
в значительной мере упрощает программисту работу с закладками, с аннотациями,
с сеансовой базою данных, с событиями, с расширениями...

Кроме того, в третьем Файерфоксе появился легко скриптуемый ввод и вывод данных
при работе с файлами и прочими потоками:

http://wiki.mozilla.org/ScriptableIO

Скриптуемый читальник и писальник ZIP-архивов:

https://bugzilla.mozilla.org/show_bug.cgi?id=379633

Клёвая штука, но пока не документированная. Я могу, конечно, взять в патче
https://bugzilla.mozilla.org/attachment.cgi?id=280789&action=edit тот кусок,
который modules/libjar/zipwriter/public/nsIZipWriter.idl ── и на его основе
попробовать что-то наскриптовать. Hо неприятно, что приходится самому в этом
разбираться на таком уровне.

Кроме того, Файерфокс теперь умеет по jar:-протоколу показывать содержимое
ZIP-архивов:

https://bugzilla.mozilla.org/show_bug.cgi?id=309296

Кроме того, появился API для работы с микроформатами, что тоже вдохновляет:

https://bugzilla.mozilla.org/show_bug.cgi?id=384186

Документация на него ── вот она:

http://wiki.mozilla.org/User:Mkaply:Fx-Docs:Microformats/Architecture

Меня, с моими идеями о гипертекстовом и геоинформационном Фидонете, более всего
интересует работа с микроформатом geo, конечно.



Общее резюме такое: даже если бы я не сосредотачивался на разработке стандарта
адресации в Фидонете, а вместо него сидел и сочинял сам Фидофокс эти полгода,
то безо всех этих прекрасных инструментов впустую убил бы время на изобретение
велосипедов: читал бы настройки без FUEL, рисовал календарь и часы более общими
XUL-объектами, импортировал скрипт синтаксического разборщика фидошных URLов
вместо того, чтобы сделать его модулем, декодировал base64 джаваскриптом,
а для доступа к базам фидопочты сочинял бы собственную обёртку вокруг XPCOM.

Hо теперь есть FUEL, есть календарь и часы, есть возможность писать JS-модули,
есть кодек base64, есть скриптуемый IO.

Более того, есть даже ZIP-обработчик, есть даже объект микроформатов.

Единственное, чего мне ещё недостаёт ── это кодека UUE; но уж такой-то XPCOM
я могу и сам себе наджаваскриптовать.



Мораль: на этой неделе свёртываю разработку FGHI URL 0.5 и начинаю играться
с первой бетою третьего Файерфокса. Сперва как простой пользователь, но затем
и как разработчик расширений. Задачка категории Hello World: заставить мой
Советский Файерфокс (Soviet Firefox) обновляться через Паутину в подписанном
цифровой подписью виде.



Ceterum censeo Diptaunum esse delendam!    [Ru.Mozilla]     http://Mithgol.Ru/
Mithgol the Webmaster.  [Team В эхолисте ,,ё`` уместим]  [Team А я меняю subj]

... Какой вклад в свержение диктатуры внесут избранные средства?   (Джин Шарп)
--- Последнее из пpочитанного: ,,Войны людей и богов`` Захарии Ситчина.
* Origin: Раньше у России был путь Ленина ── а теперь лень Путина (2:5063/88)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 1.212317 секунды