Быстрая операционная система для бизнеса и хобби
102,55
рейтинг
6 января в 17:07

Разработка → Дайджест по итогам 2015 года

Мы решили поздравить всех читателей блога с наступившим Новым годом и подвести итоги прошедшего. Конец 2015 года ознаменовался круглыми числами — 6000-й билд в SVN и 5000-й участник группы https://vk.com/kolibri_os социальной сети ВКонтакте.



Материал дайджеста подготовлен W__W при моем скромном участии.



Изменения были почти по всем направлениям:
  • приходили и уходили разработчики;
  • дополнялось API операционной системы;
  • улучшались программы, драйверы и библиотеки;
  • появились новые средства разработки;
  • проводились акции и конкурсы.


Разработчики

В 2015 году к нам присоединились несколько программистов, из которых особую активность проявили Pathoswithin и pavelyakov. Pathoswithin занимался улучшением поддержки файловых систем, в том числе NTFS (удаление и создание файлов и папок, запись и перезапись файлов без изменения их размеров), масштабируемыми шрифтами, исправлениями программ — всего 58 ревизий. pavelyakov занимался созданием библиотек для языка C--, исправлениями программ — всего 66 ревизий. Также он разрабатывал интерпретатор высокоуровневого ассемблера и визуальный редактор интерфейса программы с последующей трансляцией в код языка С--.

Проект покинули или ушли в длительный отпуск:
Mario — человек, стоявший у истоков KolibriOS, и один из ведущих разработчиков ядра, драйверов и программ.
SoUrcerer — разработчик, портировавший множество программ и написавший тестовый драйвер для принтеров.
yogev_ezra — PR-менеджер, организатор конкурсов, программист для процессоров семейства Vortex86.

API и возможности ядра KolibriOS

Отметим следующие достижения:
Pathoswithin — повышение скорости работы с IDE-дисками.
Pathoswithin — улучшение поддержки файловой системы NTFS. Комментарий к первой версии кода 7мая
… В общем, дело идёт гораздо медленнее чем я ожидал, но всё-таки, обществу с отсутствующей ответственностью для осторожного тестирования представляется код с ограниченными возможностями. Поддерживается создание (копирование) файлов если есть место в файловой таблице и в узле каталога, иначе вежливо отправляет дописывать. Также, карта раздела кэшируется кусками по 32кб, что эквивалентно 1гб дискового пространства (не тестировалось)...
Текущие возможности
Создание файлов/папок, если есть место в файловой таблице и в узле папки.
Удаление, если индекс файла в папке не указывает на подузел.
Редактирование/перезапись без изменения размера.

Pathoswithin — новый системный шрифт с возможностью масштабирования.
Pathoswithin — новые события мыши.
Serge — поддержка HPET.
Serge — ускорение загрузки ядра.
GerdtR — функция сделать окно поверх всех, позади всех или на уровне рабочего стола (самый нижний «слой»).
hidnplayr — работа с любой из поддерживаемых сетевых карт, а не только с первой обнаруженной.

Новые функции и подфункции:
Функция 18.19.6 — получить задержку для двойного нажатия мышью;
Функция 18.19.7 — установить задержку для двойного нажатия мышью;
Функция 18.25.1 — узнать положение окна относительно других окон;
Функция 18.25.2 — установить положение окна относительно других окон;
Функция 26.10 — получить значение высокоточного счётчика времени;
Функция 37.3 — состояния и события кнопок мыши;
Функция 48.9 — узнать режим сглаживания шрифтов;
Функция 48.10 — установка режима сглаживания шрифтов;
Функция 48.11 — узнать размер шрифта;
Функция 48.12 — установить размер шрифта;
Функция 74.4 — узнать указатель на сетевое устройство;
Функция 74.6 — узнать значение счётчика пакетов TX;
Функция 74.7 — узнать значение счётчика пакетов RX;
Функция 74.8 — узнать значение счётчика байтов TX;
Функция 74.9 — узнать значение счётчика байтов RX;
Функция 74.10 — узнать статус соединения;
Функция 76 — настройки и статистика сетевых протоколов.

Программы, драйверы и библиотеки

Переработан файл macros.inc, который используется во многих программах.

Создан файл KOSfuncs.inc с именами функций и констант, позиционируемыми как стандартные и рекомендуемые к использованию в программах, написанных на FASM.
Предыстория.
Начинающий разработчик ALEXS1983 11 декабря создал тему «Названия системных функций» для обсуждения нечисловых, а буквенных названий функций, которые бы стали в дальнейшем стандартом. ALEXS1983 предложил несколько вариантов, которые активно обсуждались. Далее Pathoswithin 18 декабря предложил вариант, рассматриваемый как кандидат на утверждение. Данный вариант был принят с некоторыми поправками и 22 декабря был сделан коммит, который как нельзя лучше подходил юбилейному числу — 6000.
Далее по плану будет утверждение имен функций для ЯВУ и Style Guide для С--.

Из новых программ отметим следующие:
"@open" (разработчик e-andrew) — системная утилита, служащая для открытия файлов по ассоциации. Это был первый шаг от избавления зоопарка файлов ассоциаций у файловых менеджеров и других программ. С ревизии 5396 программа в составе ночных сборок.

image

«Pixie Player» (разработчик Leency) — музыкальный плеер (фронтэнд для MiniMP3).

image

«FB2 Reader» (разработчик akron1) — читалка fb2-книг

image

Средства разработки

В конце года большой интерес вызвали проекты участника pavelyakov:

Интерпретатор программ на высокоуровневом ассемблере

image

Визуальный редактор интерфейса приложения с последующей трансляцией в С--



Акции и конкурсы

18 января были подведены итоги конкурса игр:

Победители конкурса:
1. LaserTank — разработчик ZblCoder. Язык программирования: C++. Компилятор: MSVC (VS2013). image

2-3. N-sider — разработчик eugene455. Язык программирования: C. Компилятор: TinyC / GCC. image

2-3. Dungeons of Augastes — разработчик Anton_K. Язык программирования: Assembler.
Компилятор: FASM. image

4. 21days — разработчик igevorse. Язык программирования: C++. Компилятор: GCC. image

21 февраля начат конкурс «Нарисуй или улучши иконку Колибри»

4 мая открыт приём материалов для блога компании на Хабрахабре. Пишите Punk_Joker о предполагаемых темах статей для координации работы над ними и составления графика публикаций.

Статистика юбилейных ревизий:
билд 6000 — 22 декабря 2015 — Pathoswithin — 523 дня
билд 5000 — 17 июля 2014 — Clevermouse (на Хабре CleverMouse) — 281 день
билд 4000 — 9 октября 2013 — Mario79 (на Хабре Mario_Z) — 339 дней
билд 3000 — 4 ноября 2012 — Leency (на Хабре Leency) — 486 дней
билд 2000 — 7 июля 2011 — Mario79 (на Хабре Mario_Z) — 893 дня
билд 1000 — 25 января 2009 — diamond (на Хабре grechnik) — 1207 дней
билд 1 — 6 октября 2005 — halyavin (на Хабре halyavin) — начало использования SVN

Последняя тысяча далась тяжелее, чем предыдущие, из-за смены поколений участников проекта и длительного отпуска Сlevermouse.

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

Счастливого 2016 года!
Автор: @Punk_Joker
KolibriOS Project Team
рейтинг 102,55
Быстрая операционная система для бизнеса и хобби
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Комментарии (20)

  • +9
    Вот так неожиданно в один день обнаруживаешь себя автором первой ревизии. А я всего лишь настроил SVN сервер и убедил Mario79 его использовать.
    • +4
      Внедрение чего-то, это не такая уж и мелочь.
  • 0
    Удачи вам!
    А что планируется в этом году?
    • 0
      Особых планов пока нет. Но точно будет полноценная запись на NTFS, и надеюсь появится браузер (сейчас в этом направлению ведется более активная работа)
      • +1
        А кто работает над браузером? С нуля пишут или портируют что-то? Помниться sourcerer пытался браузер написать, но об этом два года ни слуху, ни духу.
        • 0
          Leency решил переписать свой браузер с нуля. И hidnplayr пишет свой тоже с нуля…
          • 0
            Leency hidnplayr
            А реально ли в одиночку написать браузер, на котором можно беспроблемно просматривать все (ну или хотя бы большинство) современные сайты? Тем более на ассемблере.
            Или упор будет сделан на легкость аля Links?
            • +2
              Привет,

              Нет. На данный момент самостоятельно написать браузер не реально. Кто-то пошутил, что любая программа в процессе своего развития стремиться стать операционной системой. Современные браузеры подошли к этому очень близко.
              Над ними работают десятки и сотри программистов. Исходники Chromium несколько лет назад «весили» 300 Мб, сейчас уже 2,2 Гб.
              2,2 Гб, Карл!!!

              > Leency решил переписать свой браузер с нуля.
              Основной дистрибутив Колибри — это img образ размером 1.44 Мб. Сейчас в нем есть браузер WebView, который был одной из моих первых программ для Колибри, потому код в нем не ахти. Я делаю попытку исправить ошибки прошлого и переписать его, т.е. сделать тот же текстовый браузер, но уже с хорошим кодом. Мне это просто интересно, ничего более.
              Грустная история WebView http://kolibri-n.org/inf/webview/webview
              Другие мои программы имеют более веселую судьбу.

              Один наш друг из Индии занимается портированием Netsurf, пожелаем ему удачи.
              • 0
                Вопрос был скорее риторический. Очевидно, что крупный софт в одиночку написан быть не может. Успеха в любом случае.
        • 0
          Что касается порта NetSurf, то это был один из частично успешных проектов GSoC 2014 года. Индус, который был в GSoC студентом, время от времени заходит и обещает им снова заняться. Вот текущее состояние github.com/ashmew2/netsurf-kolibri
        • 0
          Помимо выше сказанного, один из студентов GSoC 2014, Ashmew2, продолжает работу над Netsurf. Сейчас он работает над нативным для Колибри интерфейсом, и внедрением наработок по портированию в основное дерево проетка Netsurf, чтобы ядро браузера оставалось вктуальным, без особых усилий со стороны команды KolibriOS.
  • –3
    В golang, неплохо было бы, добавить поддержку KolibriOS.
  • 0
    Как пощупать визуальный редактор? Прочитал все 4 страницы форума и так и не нашел.
    • 0
      Нагуглил compiler.esy.es, но работоспособность неизвестна.

      • 0
        Немного потестировал: в Firefox сайт грузит, но добавление компонентов неработает; в Chrome нормально добавляются компоненты, события компонентов (можно писать обработчики событий), можно менять текст, цвет и прочие параметры для компонентов, но с компиляцией проблемы. Можно скачать описание формы в неком формате *.kcm.
    • 0
      Он все еще в разработке, потому автор его и не выкладывал. Но сейчас у него времени поубавилось, в связи с тем, что сейчас он в армии.
  • 0
    Где достать стабильный релиз? Пробовал от 2009, но это, простите, совсем старый. Тот, что nightly вылетает с ошибкой в виртуалке.
    • 0
      Странно, у меня все отлично работает. Какая виртуалка? Настройки?
      • 0
        VirtualBox 5.0.8, Type:Other, Version:Other/unknown, образ как livecd подключен.
        • 0
          Какая ревизия? Попробуйте текущую последнюю сборку.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка