Welcome to the pages of Softheme company blog. This blog contains constantly updated articles which cover the topics of programming, website development, project management, and legal side of operation of an IT outsourcing company in Ukraine. We hope that our solutions and examples will prove to be useful to other participants of the IT outsourcing market.

Contact us today to learn more about outsourcing software development to Ukraine:

6 Exciting Web Technologies of 2015-2016

The world of web technologies is always a fast-moving one. It seems like some amazing new framework or development and design app comes out every day. In the blog post below you can find 6 exciting new developments in the web design and development arena that pushes forward the web technologies in 2015 and 2016.

So, the web technologies that could be make the life of web development easier and exciting:

Electron;

React Native;

Visual studio code;

Progressive web apps;

Rollup;

Web Assembly.

Electron

Electron is a technology that was developed by GitHub. It allows developers to build cross-platform desktop apps using HTML, CSS, and JavaScript. It is a variant of io.js run-time which is focused on desktop applications instead of web servers.

Electron contains both a Node.js runtime and a minimal embedded Chromium browser. Its features include:

Automatic updates;

Crash reporting;

Windows installers;

Debugging and profiling;

Native menu and notifications.

Originally, Electron was created by GitHub’s editor Atom, but now it’s used by numerous companies, including Facebook, Microsoft, Slack and Docker.

React Native

React Native is an open source framework by Facebook that allows you to write iOS and Android apps using HTML-like code (JSX) and JavaScript. It’s based on a popular React.js JavaScript framework, but you can’t run normal React.js code directly as an iOS app. The virtual DOM is still there and you still have to use JSX to create it, but the actual UI is built with native components such as UITabBar on iOS and Drawer on Android.

One one hand this means that each platform mentioned above has a slightly different UI layer now: the web, iOS, Android. But on the other hand, you’ll be able to reuse much of your code, while having a native experience on each platform. In theory, this means the experience should feel native and appear very smooth.

Visual Studio Code

Visual Studio Code is an open source JavaScript code editor developed by Microsoft for Windows, Linux and OS X. It’s written in JavaScript and based on the Electron framework.

For developers who find themselves trying to get access to different languages to code from, Visual Studio Code comes ready to use with over 30 programming languages. Visual Studio Code provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.

One of the features that VS Code does better that other IDEs is the mindset of coding, then editing, then debugging. No matter if you’re starting the code from scratch or editing some existing code, Visual Studio Code allows you to work either way. Also one more feature is that Visual Studio Code allows users to find, install, or even write your own extensions to help expand the functionality.

Progressive web apps

Progressive web apps are not actually a technology, but rather a term for some characteristics of modern apps. This mean that web apps are catching up with native apps in some areas and moving ahead of them in others. The main characteristics of progressive web apps are:

Rollup

Rollup is a module bundler: it converts multiple ES6 modules into a single bundler. Rather than wrapping each module in its own function, all modules share a single scope. Rollup brings two innovations to the world of JavaScript modules:

The end result includes only those exports that were actually used, via a technique called “tree-shaking”. So the developers are now free to make modules as big as they need, without having to worry about the size of bundles;

It demonstrates that ES6 modules can be packed into a ES6-format, avoiding the need for any kind of custom loading.

WebAssembly

WebAssembly is a new intermediate representation of Web safe coding. It serves as a common object-level format for multiple source-level programming languages. WebAssembly allows users to with with a simple, low level code blocks that can be used to program anything.

Talking in general, WebAssembly is:

An improved JavaScript: you can implement all the critical things on the “wasm” (short for WebAssembly) and import them as a standard JavaScript module.

A new programming language: WebAssembly can be defined as an abstract syntax tree (like JavaScript) in a binary format. You can write code and fix errors in text format and WebAssembly can be easily read.

An improvement for browsers: Browsers will understand a binary format which means developers will be able to compile binaries which can be compressed to a greater extent than text files used today with JavaScript. The smaller a file is, the faster the download is. WebAssembly code can be transferred and run faster than JavaScript.

A target compilation: other languages will get a first-class binary support through the entire web platform stack.