Skip to content

AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

License

Notifications You must be signed in to change notification settings

burneikis/AuroraEditor

 
 

Repository files navigation

Logo

AuroraEditor

Twitter Follow Discord


AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

It will support everything you could expect from an Xcode-inspired application, including deep integration with your selected git provider, project planning, and your favourite built in editor tools.


GitHub pull requests GitHub closed pull requests
GitHub issues GitHub closed issues
GitHub branch checks state GitHub Repo stars GitHub forks


⚠️ AuroraEditor is currently in development and we do not yet offer a download.
We will post a link here when we have an alpha release ready for testing.
Until then, we welcome contributors to help bring this project to life.

All Contributors

Motivation

Developers should be able to use an editor that feels snappy and fast.

Most comparable editors are built on Electron, This is a huge disadvantage because it utilize a lot of unneccecary system resources. Electron requires a Chromium instance to run. This can mean massive performance losses and high RAM usage even for small apps built on it. Additionally, the overall code footprint is much larger and animations are slower. More frames are lost and things like window resizing feels laggy. Native apps are smooth as butter and utilize system resources much more efficiently for better performance and reliability.

Xcode is a great native editor for developers on Mac, but unfortunately it doesn't support creating a multitude of projects in different programming languages, and this is where Aurora Editor comes in. Aurora Editor wants to give developers the posibility of creating their desired projects in their desired language on a editor that is native and gives a similar experience, performance and feel than that of Xcode on Mac.

Motivation for divergence from CodeEdit

This project originates from https://github.com/CodeEditApp/CodeEdit. We decided to take our own direction with this project for several reasons:

Rate and direction of development

We want to increase the rate of development, which means

  • Encouraging people to make PRs, even if they aren't complete (this is an issue with CodeEdit, many amazing PRs go stale or take forever).
  • Making the code review cycle faster, including allowing people to merge their PRs once they have recieved enough reviews, instead of having to wait for an admin to do it.
  • Making a clearer todo so that there is never the "what to do" programmer dilemma that slows down development.
  • Getting people interested in Swift. Go to #swift-beginners on our Discord server for help!

Discussion

  • We want to make sure that the development discussion is always public, not kept in locked channels, and should stay that way,
  • We want everybody to feel welcome, and that every commitment to the project counts!

Architecture

  • We felt that the architecture of CodeEdit wasn't up to standard. One example is the usage of Modules, which not only increased build time but also code complexity because communication between code compoments and modules is difficult. However, CodeEdit was insistent on keeping their structure. The only way we saw the CodeEdit project could continue is if this changed.

Aurora Editor vs CodeEdit

When looking at the core of both code bases there isn't to much difference between AuroraEditor (AE) and CodeEdit (CE). However, we are trying to change that, for example by following a cleaner architecture. Overtime the code base between AE and CE may barely be similar to each other.

We follow a strict set of principals when developing AE, some of which includes

  • Keeping the code as performant as possible (including build times)
  • Fixing memory leaks or excessive memory usage that may hurt performance
  • Making sure PRs follow AE's architecture guide closely
  • The code is readable at all times and meets our expectations in regards to performance

Even if the code isn't completely up to these standards, we will work with the contributor until we have a satisfactory PR. No merge left behind!

We try to keep our code base documented as much as possible, so that any new or existing contributor who's building new features or fixing a bug can just read the documentation and instantly have an idea of what's happening.

We very much respect the contributors that contributed to CE, and we would like to thank them for giving us a base to begin with.

Community

Join our community on Discord where we discuss and collaborate on all things of Aurora Editor. Don't be shy, jump right in and be part of the discussion!

Community Details

We would love to hear what kind of great ideas you as the community have. If you have an idea or a feature request for Aurora Editor feel free to add it to the Ideas Discussion.

If you created an awesome feature for Aurora Editor why not Show and tell, and celebrate with the community and developers of Aurora Editor.

When we have some awesome news or a big annoucement to make, we will be making it in the Annoucement Discussion. So stay tuned for any future annoucments.

Mental Health Awareness

We are aware how difficult and overwhelming it can be sometimes for developers when working on a big or small project. If you feel like you are getting overwhelmed when working on a certain feature or bug on Aurora Editor don't be afraid to let us know and we'll be able to help you out and takeover what you have been working on if you feel comfortable letting someone else do it. If you just feel the need to talk about certain issues feel free to talk about it in the Mental Health Channel or if just need advice on something ask in the Advice Channel.

Contributing

Be part of the next revolution in code editing by contributing to the project. This is a community-led effort, so we welcome as many contributors who can help! Please read the following for more information.

Contributors ✨

Thanks goes to these wonderful people:


Wesley De Groot

🚇 ⚠️ 💻 🚧

Nanashi Li

🚇 ⚠️ 💻 🚧

KaiTheRedNinja

⚠️ 💻 🚧

Angelk90

🐛

License

Aurora Editor follows two license sets for different parts of the software: Intellectual Property and MIT

Intellectual Property License

Copyright (C) 2022 Aurora Company

The files mentioned below are part of Aurora Project and can not be copied and/or distributed without the express permission of Aurora Company.

MIT License

Copyright (C) 2022 Aurora Company

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Swift 100.0%