25Apr2016

Web Development: TypeScript as OOP version of JavaScript

JavaScript is not classic OOP language

OOP (Object Oriented Programming) is the most popular style of coding for now. OOP programming languages are the most used for now. E.g., C++, Java and C#. These are the most used ones in software development. That’s why the majority of frontend developers have been coding in OOP paradigm. On the other hand, JavaScript dominates on the client side of Web Development. Besides, JavaScript is rising very quickly as server side language by node.js platform. JavaScript is not classic OOP programming language. Actually, there is some kind of OOP based on prototype, but it provides another approaches and patterns. One more point against JavaScript is its dynamically typed nature. These and some other features make JavaScript very outstanding. A lot of developer note that they are hate JavaScript.

 TypeScript for making JavaScript more friendly

There are several attempts to make JavaScript development more friendly and controllable. E.g., CoffeeScript [http://coffeescript.org] is a language that compiles into JavaScript. CoffeeScript code looks like Ruby. Its main goal is providing a minimalistic syntax to make source code smaller and elegant. Another way is TypeScript [http://www.typescriptlang.org] by Microsoft. It makes JavaScript look like regular OOP language with classes and static typing. TypeScript is a language, or rather to say extension to pure JavaScript, because it uses the same syntax as pure JavaScript, but introduces extensions to define types, interfaces, classes, modules, etc. There is a compiler to translate TypeScript code into pure JavaScript to run in browser or by node.js engine. It’s open source both the specification and the implementation hosted on GitHub. Thus, it may be used for any OS and platform. Install it globally into your system as any other npm module:

Read more
04Apr2016

Application Development: Online collaboration tools as new quality of communication

What is the criteria for professional software developer? One of the best answers to this question is “to be smart and get things done” [http://www.joelonsoftware.com/items/2007/06/05.html]. On the other hand, emotional intelligence is very important. Software developers should be in contact with all stakeholders of the project, like clients, UI/UX designers, testers and even other developers. There are  pretty specific forms of communication in Application Development as a process. It should be effective at line of share knowledge, catch problems, prioritize features to implement.

 Share the document

In case of remote collaboration, first of all, it needs to have ability to work on the same documents and artifacts. Google Docs is a set of online office applications, that may be treated as substitution to standalone MS Office package. It allows view and edit formatted documents and spreadsheets remotely by distributed teams online with adding comments to appropriate places in the document.

 Share the desktop

The most effective way to describe a bug or case is to reproduce it visually. There is no problem to look at screen if 2 or even more persons are in the same office place. It’s not so easy to provide demo remotely. In this case developers use online screen sharing tool. There is well-known GUI tool Chrome Remote Desktop [https://chrome.google.com/webstore/search/remote%20desktop] by Google. It’s implemented in the form of browser extension, so it’s available for all platforms. It’s very similar to Windows Remote Desktop. Windows Remote Desktop was designed a lot of years ago for remote access to Windows Servers and PC’s, but Chrome extension is for online screen sharing among 2 users. Skype messenger also provides this functionality. It’s possible both to view a remote display and grab keyboard or mouse input.

Read more