IDE Atom от GitHub. Опубликован roadmap к версии 1.0


    Команда Atom опубликовала roadmap. Впервые это объявлено на discuss, затем добавлено в FAQ и расписано в issues, потому новость вполне официальная, хотя её всё ещё нет в блоге. На скрине список на стабилизацию API.
    UPD. Из интересного:
    • У команды разработчиков Atom нет жестких сроков
    • В текущем роадмапе отсутствует поддержка отличных от UTF-8 кодировок (линк на коммент)
    • Хотя официальная поддержка больших файлов (>2МБ) только планируется — в последних сборках расширение (до 10МБ) обходится заменой пары строк в коде


    Предыстория.


    Неделю назад в одном из топиков на discuss.atom.io была высказана идея о публикации roadmap Atom`а:
    Some things I can think of off the top of my head to increase transparency:
    • post the roadmap with general guidelines on here, or on the atom/atom
    • open PRs super early in the process with an explanation of what we're doing


    Мой текст представляет собой вольный перевод заметки и объединения контента из ссылок оригинала в более наглядное целое.
    Скрин оригинала

    Собственно перевод, с моими вставками


    Мы хотим донести до каждого над чем мы работаем и сосредоточены. Перед нами стоит две задачи: зафиксировать API и 1.0

    Фиксация API (API Freeze)


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

    Задачи


    Плюсом помечены реализованные задачи.
    + Поменять редактор на поддерживающий react.
    + Сконвертировать всю документацию в atomdoc.
    + Изменить API документации.
    + Разделить API на основное и расширенное.
    + Преобразовать все события в события-методы.
    + Добавить view provider API.
    + Пройтись по API и сделать его более последовательным / симметричным.
    (не уверен в правильности — оригинал «Make a pass through the API and make APIs more consistent / symmetrical»)
    + Новая, менее запутанная система команд.
    — Обновление API конфигурации.
    + Повсеместное использование одноразовости. (Use disposables everywhere)
    — Обновление API проектов для работы с множеством проектов. (Сейчас один проект может работать только с одним репозиторием в одном каталоге)
    — Преобразовать внутренне представление в кастомные HTML Элементы. В API присутствует т.н. Shadow DOM которое они планируют унифицировать.
    — API панели аналогично API провайдера. Это два недавно добавленных и анонсированных API для рабочего пространства Atom`а.
    — Экспорт только единичного ядра классов. (Проблема в том что разные пакеты могут ссылаться на несколько одинаковых пакетов, каждый из которых загружается в память, со всеми вытекающими)
    — Удалить устаревшее из пакетов.(Remove deprecations from packages)
    — Дать пользователю использовать устаревшее.(Enable deprecations for users)

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

    Atom 1.0


    Когда мы зафиксируем API, мы будем стремительно приближаться к версии 1.0. Это будет включать в себя множество важных вещей. На текущий момент опубликованы следующие задачи:
    1. Features
      1. Проект в нескольких директориях
      2. Система конфигурации для каждого проекта
      3. Конфигурация привязанная к области (Scoped config settings)
      4. Отключение посимвольной отмены
      5. Обновление стандартных тем
      6. Windows installer/updater
      7. Пользовательский опыт в исключениях (Exception user experience)
      8. Обновление интерфейса настроек
      9. Работа с отступами и переносами (задача аж с ноября 2013, которая заново была открыта в июле 2014)
      10. Обновление tree-view. Реализация аналога «smart tabs» из sublime


    2. Производительность
      1. Загрузка
      2. Поиск и замена
      3. Переключение между вкладками
      4. Autocomplete
      5. Набор и передвижения курсора. (Typing and cursor movement)
      6. Поддержка файлов с экстремально длинными строками
      7. Поддержка файлов большого размера. Всё ещё только 2 мегабайта.
        UPD. Если есть необходимость можно обойти это ограничение, поправьте строчку непосредственно в отладчике или файле app/src/project.js
            Project.prototype.buildBuffer = function(absoluteFilePath) {
              var buffer;
              if (fs.getSizeSync(absoluteFilePath) >= 2 * 1048576) {
                throw new Error("Atom can only handle files < 2MB for now.");
              }
        

        Для 10 мегабайт работает стабильно, при попытке открыть что то большее уже другие ошибки и память выедается непропорционально.
        поменяли максимальный размер




      8. Tree view (видимо не устраивает его производительность)

    3. Bugs (пока пусто)
    4. Docs
      1. Обновление и уточнение документации

    5. API
      1. Избавиться от устаревших API
      2. Сервисы (внутри пакетная коммуникация)
      3. Обновление компонентов для просмотра


    Ни одна из перечисленных задач не решена, поэтому оформил их списком.

    Отслеживание наших действий/состояния


    Мы будем закреплять за модулями с которыми работаем систему стикеров.

    Когда мы будем готовы работать над чем то, мы добавим стикер on-deck
    github.com/atom/atom/labels/on-deck



    То над чем мы работаем помечено стикером in-progress:
    github.com/atom/atom/labels/in-progress



    Когда модуль на пути к реализации он помечается стикером shipping:
    github.com/atom/atom/labels/shipping
    (сейчас только «уплывшие»)



    Кроме того Вы можете следовать за нами nathansobo, kevinsawicki, thedaniel and benogle на github и наблюдать за нашими действиями.
    Надеемся — это даст Вам понимание того где мы и куда двигаемся.

    Источники



    Про Atom


    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 10

      0
      А поддержку не UTF-8 файлов не заложили в список. Надеюсь они все же пофиксят наконец эту проблему, а то у нас файлы в кодировке Windows-1251 и буквы на кириллице не отображаются
        +1
        Да, на текущий момент только UTF-8, на эту тему открыто Issue #1806, и несколько постов на дискусе в которые почти каждый день ставят +1 (просят разные кодировки). Предлагаю пока, попробовать воспользоваться одним из плагинов решающие данную проблему:
        1. atom.io/packages/support-gbk после установки — перезапустите Атом (ctrl+alt+r). Перекодировка представления должна произойти автоматически
        2. atom.io/packages/convert-to-utf8
        Правда им не всегда корректно удаётся определить кодировку
          +1
          Да, с кодировками в атоме реально беда. Это на сегодняшний момент реально его главный минус. В остальном работаю на атоме достаточно комфортно. Во всяком случае, он намного стабильнее и приятнее адобовских брекетов.
          +7
          Вот только Atom еще не IDE :) Да и думаю, вряд ли будет.
            +1
            Чего именно по Вашему ему не хватает до IDE?
            На текущий момент ( кроме самого текстового редактора :) ) доступны или планируются (помним что это ещё даже не первая версия):
            • Интеграция с версионным контролем
            • Встроенной системой отладки является браузерный движок
            • Интерпритатор исходных текстов для некоторых языков
            • Есть возможность расширенной отладки (с помощью доп. расширений)
            • Инспектора объектов могут быть реализованы как сторонние расширения
              Например
              image
            • и т.д.
              +5
              То, что предлагает любая IDE, отлично работающий Codeintel. На саблайм думаю не стоит ссылаться, мол они же сделали (криво он работает) :)
                +1
                С такой точки зрения согласен, сейчас многие начинают писать свою IDE для web проектов, из недавних — Firefox. Atom привлекает своей открытостью и динамикой, но напрягало отсутствие понимание куда всё это динамично движется, сейчас оно есть… Единственное — упорно молчат про ориентировочную дату / срок выхода 1-й версии.
                0
                Возьмём за эталон функциональность IDE от JetBrains (просто эти ребята знают толк в IDE :). Вот текущий список возможностей PyCharm — IDE для Python. Ну, а большинство web-разработчиков, я думаю, знают про PhpStorm, RubyMine и их возможности. По сравнению с ними Atom — это просто продвинутый текстовый редактор.
                  +1
                  Хе-хе, добрался до клавиатуры…
                  В контексте сегодняшних пингов к гитхабу, эталон может стать единственной доступной тут всем IDE… ибо отечественное :) А если без страшилок и перегибов:
                  — конкуренция это всегда плюс;
                  — большая часть из представленного в ссылке списка покрывается плагинами, один только упомянутый в другом посте Linter поддерживает несколько десятков языков;
                  — уверен, что Atom дорастёт до полноценной IDE из коробки;
                  — т.к. в ядре Атома node.js — к нему доступно всё многообразие модулей npm c конвертацией в apm;
                  — открытый код позволяет экспериментировать на ходу пользуясь стандартным отладчиком хрома, не обращаясь в техподдержку или подписывать NDA для ковыряния исходников;
                  — сами, естественно, пользуемся в т.ч. Webstorm`ом и IntellyjIDEA;
                  не агитирую «все на Атом!»:
                  — те же плагины ставятся не во всех версиях и ОСях;
                  — стабильность для разных ОС так же неодинакова;
                  — техподдержка может молчать неделями, в отличии от того же JetBrains который в совершенстве владеет великим и могучим;
                  — МногоЧегоЕщё вызванного бетой.

                  Вы серьёзно считаете что 0.13X.XX версия Атома доросла до VS со старичками? :)
              +1
              Представитель команды Atom указал на то что у них нет жестких сроков
              Likely no hard deadlines
              Слегка обновил пост.

              Only users with full accounts can post comments. Log in, please.