As most developers will know, finding that perfect combination of tools to help you get your job done fast and clean is pretty damn important but also pretty tricky. For example I myself have been through quite a lot IDEs, from [Macromedia] Dreamweaver to Eclipse and from JetBrains WebStorm to Aptana Studio before finally settling down with Sublime Text 3. I have been loyal to this text editor for the last two years because of its light weight and because of its subtle interface. Thing is though… there is always room for improvement and whenever I see something in another editor it kind of gets me thinking of trying it.
While going through my Feedly updates just earlier this week, I found out about a new kid on the block named Brackets. This obviously caught my attention since they labeled it as a text editor that “understands web design” and so I began taking it for a spin. The first thing that I loved about it was of course the UI. While I agree that functionality is the essence, an application’s interface may very well be a barrier preventing you from harvesting said functionality, so yeah, this one was nicely done (except for the top menu bar which for some weird reason is displaced upwards by a couple of pixels whenever I hover it).
Among the things that got me really excited about this text editor I would mention the following features:
- Live preview: a nifty little thing that updates all your code changes live in the browser (currently only Chrome is supported, but that’s my browser of choice anyway). To get this done with Sublime Text I have to use Emmet LiveStyle.
- Quick edit: while editing an HTML file just click inside of a class name attribute and press Ctrl+E or right click and select “Quick edit” and you can edit the properties for that class on the fly. Just press Esc when you’re finished and voila!
- Preprocessor support: as someone who uses Sass more and more with each new project, this feature won the podium for me, especially as it also works with the two previously mentioned features. While only the scss synthax in supported so far, it’s still an excellent first step (I for one use scss rather than sass anyway).
- Project management: incredibly easy and fast way of switching from one project to another from the sidebar, something which can also be enhanced with the help of an extension from Alex Bardanov
- Extension manager: this is in so many ways better than Package Control for Sublime Text, just try it for yourself and see.
There are of course more interesting things about it and I really like the way everything comes together nicely and how easy it is to extend the tool set by adding extra plugins to it – this is one of the many reasons for which I love working with Sublime Text. No overhead, just the bare minimum on which you can build your own custom IDE.
So will I use it? No, I will not! Despite having done well in some areas, Brackets doesn’t actually cover what I consider “bare minimum” for professional web development:
- Code formating: no built-in reindentation, nothing. Solvable of course with an extension – Beautify – but in all fairness I would be better off doing the formating by hand than use it. There is no (easy) way to specify what rules you want it to follow so it will just end up making the code worse (at least in my case).
- FTP sync: this is something that I also hated about Sublime Text and the more I see people requesting such a built-in feature the more I wonder why it is still something only available as an extension/plugin. Even so in all honesty the eqFTP extension for Brackets is somewhat better than the Sublime SFTP plugin for Sublime Text. although options such as “Sync Local -> Remote” or “Monitor file” do come in handy quite often in the latter.
- Minimap: I’ve never known how much of a helper this part of the UI could be until I lost it. There no such built-in feature and the only plugin that does anything remotely similar has a very big lag that annoys me more than it actually helps me.
- Tabs: while we do have a list of opened documents in the sidebar, there is no way of viewing them as tabs as well. For me it’s so much more convenient to switch between tabs rather than scrolling the sidebar up and down to get to my opened files. It’s also an experience that comes more natural especially if we consider the way in which we interact with actual browsers and I find it inconvenient to have to install an extension for it.
- Details: the devil is into them you know? its the little things that make the overall experience more enjoyable such as Sublime Text’s animated collapse/expand in the sidebar or it’s built-in smooth scrolling or code folding. Albeit there is a smooth scroll extension for Brackets you have to edit one of the JS files within it to get it to the feel right (something which happens by default in Sublime Text).
- Menu options: of course I get the fact that this is an open source project and that lots of dedicated people spent time creating it, but the fact that normal settings such as “Language”, “Preferences” or “New window” are tucked away under “Debug” in the main menu is pretty misleading. Would it not make sense to group them in a more user-friendly section such as “Options“?
The good news: it’s open source and this makes it very likely to only to get better. While I myself am not an active contributor to the project, there is still a way to help improve this app. Simply put, if you want it to be better then say what you think will make it better by submitting feature requests and voting for those already submitted by others. You can find the list of planned and proposed features on the Trello account.
Although it may have sounded like I just ranted on about this text editor, I really believe that it has the proper cornerstone to become a great text editor. However until that moment comes I will have to stick with my Sublime Text as it doesn’t break my workflow and while it’s far from perfect for now it is better than Brackets.