GitHub IDE Atom. Roadmap released for version 1.0


    Atom team published roadmap. This was first announced on discuss, then added to the FAQ and written in issues, because the news is quite official, although it is still not on the blog. On the screen is a list of API stabilization.
    UPD. From the interesting:
    • Atom development team has no tight deadlines
    • The current roadmap lacks support for encodings other than UTF-8 ( link to comment )
    • Although official support for large files (> 2MB) is only planned - in recent builds, the extension (up to 10MB) costs by replacing a couple of lines in the code


    Background.


    A week ago, in one of the topics on discuss.atom.io, an idea was expressed about publishing Atom’s roadmap:
    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


    My text is a free translation of a note and combining content from original links into a more intuitive whole.
    Original screen

    Actually translation, with my inserts


    We want to convey to everyone what we are working on and focused on. We are faced with two tasks: fixing the API and 1.0

    API Commit (API Freeze)


    The purpose of fixing the API is to bring our publicly documented APIs into a state with which we are ready to work until the next version. This will allow us to improve the API based on the use of ready-made templates; specify the APIs that have grown organically, and generally thoroughly cleaned it to lay a solid foundation.

    Tasks


    Plus marked completed tasks.
    + Change the editor to supporting react.
    + Convert all documentation to atomdoc.
    + Change documentation API.
    + Divide the API into main and advanced.
    + Convert all events to event-methods.
    + Add view provider API.
    + Go through the API and make it more consistent / symmetrical.
    (not sure of the correctness - the original “Make a pass through the API and make APIs more consistent / symmetrical”)
    + A new, less confusing command system.
    - Update configuration API.
    + The widespread use of disposability. (Use disposables everywhere)
    - Updating the API projects to work with many projects. (Now one project can work only with one repository in one directory)
    - Convert the internal representation into custom HTML Elements. The so-called API is present in the API. Shadow DOM which they plan to unify.
    - The panel API is similar to the provider API. These are two recently added and announced APIs for the Atom workspace.
    - Export only a single core of classes. (The problem is that different packages can refer to several identical packages, each of which is loaded into memory, with all that it implies)
    - Delete the obsolete from the packages. (Remove deprecations from packages)
    - Allow the user to use the deprecated. (Enable deprecations for users)

    Hereinafter, the items marked (text in English) are not commented on by the developers, so I additionally give the original name. In the last two, the removal of obsolete parameters in packages is probably implied.

    Atom 1.0


    When we fix the API, we will rapidly approach version 1.0. This will include many important things. The following tasks are currently published:
    1. Features
      1. Project in several directories
      2. Configuration system for each project
      3. Configuration attached to region (Scoped config settings)
      4. Disable character-based cancellation
      5. Updating Standard Themes
      6. Windows installer / updater
      7. User experience in exceptions (Exception user experience)
      8. Settings interface update
      9. Work with indentation and hyphenation (the task is already from November 2013, which was reopened in July 2014)
      10. Update tree-view. Implementation of the analogue “smart tabs” from sublime


    2. Performance
      1. Loading
      2. Search and Replace
      3. Switch between tabs
      4. Autocomplete
      5. Typing and moving the cursor. (Typing and cursor movement)
      6. Extremely long file support
      7. Support for large files. Still only 2 megabytes.
        UPD. If there is a need to circumvent this limitation, correct the line directly in the debugger or in the app / src / project.js file
            Project.prototype.buildBuffer = function(absoluteFilePath) {
              var buffer;
              if (fs.getSizeSync(absoluteFilePath) >= 2 * 1048576) {
                thrownew Error("Atom can only handle files < 2MB for now.");
              }
        

        For 10 megabytes it works stably, when you try to open something more, other errors are already lost and the memory is eats out of proportion.
        changed the maximum size




      8. Tree view (apparently not happy with its performance)

    3. Bugs (still empty)
    4. Docs
      1. Updating and clarifying documentation

    5. API
      1. Get rid of obsolete APIs
      2. Services (inside packet communication)
      3. Updating components to view


    None of the listed tasks have been solved, so I put them in a list.

    Tracking our activities / status


    We will assign to the modules with which we work the system of stickers.

    When we are ready to work on something, we will add the on-deck sticker
    github.com/atom/atom/labels/on-deck



    What we are working on is marked with the in-progress sticker:
    github.com/atom/atom/labels/in -progress



    When a module is marked with a shipping sticker on its way to implementation:
    github.com/atom/atom/labels/shipping
    (now it’s only floated away)



    In addition, you can follow us nathansobo , kevinsawicki , thedaniel and benogle on github and watch by our actions.
    We hope this will give you an understanding of where we are and where we are moving.

    Sources



    About Atom



    Also popular now: