пятница, 2 октября 2015 г.

The time has come

I think that now it is a good time to start learning something new. My choice is ES6 (ES2015), Aurelia and eventually that led me to Typescript (1.5). Maybe a bit later I'll try Angular 2.0. In this blog and this post, I won't tell about new features in ES6, just because you can easily find tons of information in the Internet. I'll just try to share my experience on the way to ... to success.
As you know, the best way to learn something new is not just to read about it, but also to take practice. I'll try to write a small app that would let me observe Stash's Inbox differently than Stash shows it. Nothing special, but enough to touch most of the web app development stack. Apart from that I don't like how Stash shows Inbox. I prefer to see my pull requests and pull requests assigned to me on one page in a tabular form, rather than on different tabs. It is also an excellent opportunity for me to play with JSPM, Twitter Bootstrap, LESS and many other things that I didn't have a chance to use before.


IDE or Code editor

My favorite IDE is Microsoft Visual Studio 2015 in conjunction with Resharper and some other extensions. But this time I have decided to try to develop a new web app using different code editors. Good candidates are Sublime, Visual Studio Code, Atom.
Why Visual Studio? Because I use it every day at work and know most of the shortcuts of it and of R#, most of the tools provided, which allows me to be quite productive. I just used to all those fantastic features for editing, debugging, refactoring, analyzing code provided by these two giants. And I really don't want to accommodate to others IDEs like WebStorm.
Other reasons are an availability of web server (IIS Express or AspNet.Server.WebListener), so I don't need to peek one that works on NodeJs, discover its settings and capabilities. Ability to transpile TypeScript code into JavaScript ES5 code which is understood by browsers (so no need to use Gulp). And many other things that are hard to recollect impromptu.
All the code editors I mentioned above have one common issue - the need to find, test and add some extensions to receive an experience I currently have in Visual Studio. Some editors even can't auto-close HTML tags or prettify JSON or HTML which is bad, because all they position themselves as code editors and can highlight those syntaxes.


Results


Well, after several days of struggling with lots of obstacles I have encountered, I have managed to write my Stash Inbox, but I wasn't really satisfied with the results I have got.

Eventually, I decided to wait for Aurelia's release, which will bring a lot of currently missing stuff, like bungling, documentation, samples, correct TypeScript definitions and will return to this task again. Meantime I'll try to get more experience with TypeScript (1.6 already) and come up with more useful app to write.