Altabel Group's Blog

Author Archive

iBeacon is the name used for Apple’s technology that provides location-based services and information to mobile applications on both Android and iOS devices using Bluetooth Low Energy.

The beacons themselves are small transmitters that can be placed in stores or specific points of interest, such as museums or airports. Apps installed on mobile devices “listen” for the signal and respond accordingly when the phone comes within range.

iBeacon changes shoppers into byers

First of all, iBeacon technology opens great possibilities to retailers. Some of American and European big retailers already take advantage of iBeacon: Walmart, Macy’s, Tesco, etc

Using iBeacon, customers can find and watch videos, receive coupons and other discounts in real time, depending on where they are in a store.

IBeacon also helps to collect analytical info about customers` experience. Businesses and retailers now have a direct way to find out what customers are doing, exactly where in the store they are doing it, what they are looking at, how long they are looking at it, and maybe what they decided to buy at the last second instead.

At last, iBeacon can bring popularity to contactless payment. iBeacons ability to track a specific phone, linked to an Apple ID and user account opens the door for an Apple-based payment system.

iBeacon is not only about retail. The iBeacon ecosystem has the potential to change other industries. Here are some examples.

Event Industry: conferences and concerts, museums and exhibitions.

Here are a few ways iBeacons could help to manage events and improve the attendee experience:

-Attendee check-in. Using the event’s app, attendees check themselves in and avoid line-ups.

-Navigation. iBeacons provide devices with extremely accurate location services. In large conference facilities, museums and exhibitions, iBeacons can be used to power hyper-accurate floor maps.

-Networking. Using iBeacons, attendees can network through an opt-in feature in the event’s app, allowing them to discover and message other attendees. With Linkedin integration, attendees can get a detailed look at who is around them and decide who they would like to connect with. iBeacons were successfully used at Cannes Lions festival for networking with attendees.

-Promotions and advertisements. Instead of distributing brochures or physical promotional materials, an exhibitor can send targeted promotions to attract attendees to their stand.

-Gamification. Integrating gamification into events will provide new ways to engage and stimulate attendees. For example, iBeacons could be used for social games to drive networking, venue tours tailored to indiviual interests, or scavenger hunts for exclusive information and prizes.

Home automation systems

As we get closer to the coming smart home revolution, it’s clear that smartphones and tablets are going to be the devices that we use to control our lamps, lights, thermostats, sprinklers, security systems and entertainment systems. Beacons will detect when you arrive home and as you pull into the driveway , the lights will come on. The door is unlocked for you as you approach itJ


Enabled with touch devices, waiters don’t have to rush to the kitchen in order to dispatch orders. In other cases, clients can make orders directly on tablets available at the table. With iBeacons, the app automatically knows which table the waiter is at. It can display the client name (with eventual dinning/preferences history) and automatically associate orders with tables without requiring waiters to manually select a table number.


The iBeacon platform offers a wide range of applications that can be applied on an educational context. From simple games that require students to move around, explore and find things to more scientifc or technical experiments in the classroom. Moreover teachers can track who from the students are present and send notifications to the parents whose children are away.

IBeacon is a new emerging technology that may change the world we live in. Things move quickly in any field in which a technology innovation has backing and breadth like this. This short list is only an introduction to the possibilities of iBeacon and where this technology can be applied.

And what do you think of iBeacon? Will it change our lives in the near future?

I`ll be happy to know your thoughts.

Anna Kozik

Anna Kozik 
Skype ID: kozik_anna
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Today the number of programming languages is beyond measure. Even being a quite skilled specialist you can easily get lost in the sea of object-oriented, functional, imperative, dynamic, compiled, interpreted, and scripting languages. Nevertheless, developers continue writing code on the proven Java, C ++, JavaScript, PHP etc. So do we really need new programming languages?

However, in spite of the capacity and multifunctionality of popular languages, no one’s syntax is perfectly universal at the moment. Moreover, the programming is constantly developing. The spread of multi-core processors, cloud software, mobility, and distributed architectures have created new challenges for developers that require new approaches and new tools to solve them. Adding support for the latest features, paradigms, and patterns to already existing languages, especially the most popular may be quite complicated and sometimes the best solution is to start from the scratch.

Below a few programming languages are represented, each of them can seriously affect the current programming: solve a certain problem or eliminate disadvantages of the most popular languages nowadays.

1. Ceylon

This program language is quite similar to Java, but is not its clear version of course. Gavin King denies the fact that the developed language in Red Hat will be a “Java Killer”. King is well-known for the creation of ORM framework, Hibernate for Java. He likes Java, still considers that there is a lot of staff to be improved.

Among those things that are dissatisfied by King in Java are detailed syntax of the language, the lack of top features and higher-order functions, as well as the lack of support of meta-programming. He is particularly aggrieved with the shortage of declarative syntax for structured data defining, which, according to King’s words, “equates Java to XML». Ceylon aims to solve all these problems.
There is no any Ceylon virtual machines, Ceylon-compiler will produce java-bytecode that can run on JVM. But the language will be more than just compiler. Instead of XML it uses similar to JSON the declarative syntax for data tree structure has a static typing and modules system and supports a number of structures lack in Java – sequence, intersection and union. The strategic goal of this project is to create a new set of developer for Ceylon, which will replace Java, which, according to King, is “swollen”, clumsy and still not thoroughly modernized.

Also it’s said that Ceylon and Scala overap in many features, however there are lots of very curious points that distinguish it. Ceylon strengths against Scala are in: providing modularity, union/intersection types, abstraction over function, runtime metaprogramming.

2. Dart

Javascript was forced upon the world because it was the only language usable for client-side scripting. It suites well for creating the basic dynamics on the page, but once the application starts grow, you can see the shortcomings of JS. Thus, Google developers have created Dart and it has come to compete with Javascript. It’s very likely that Dart may accustom to web programming quite permanently.

As well as in JS, Dart uses C-like syntax and keywords. However, one significant difference is that while JS is based on the prototypes, objects in Dart are determined by using classes and interfaces, like C ++ or Java. Dart also allows programmers to further define variables with static types. The idea is to make the Dart as familiar, dynamic and flexible language as JavaScript, which at the same time allows developers to write code, quick and easy in its execution, and where it is tough to make an error. Inherently, dart is created to run fast by being less permissive than JavaScript. There is a newly written from scratch VM that is designed specifically for Dart and is designed to be fast.

Among the biggest benefit of Dart is that it’s familiar and easy to learn for developers with backgrounds in Java/ActionScript/C# and JavaScript.

Today Dart is not used much. It has been developed to run either on the client or server (like Node.js), but the only way to run the client version of the Dart-code is its Cross Compilation in JavaScript. Even working like this it doesn’t work in all browsers. Still Dart is released under a free license such as BSD, and any seller who agrees with the Google terms can use the language for his products without any payment.

3. F#

Functional programming has been popular for a long time, but purely functional languages as Lisp and Haskell are often considered unsuitable for the software development, due to the fact that the codes of functional type are difficult to combine with the codes and libraries that are written in imperative languages (C ++, or Java).

F# language has been developed by Microsoft to unite the functionality and practicality. Since F # is the language of first-class on .Net CLR, it maintains the same libraries and functions like other CLR languages (such as C # or Visual Basic).

F# code is similar to OCaml code, but has its own interesting syntax. For instance, to facilitate the scientific calculations numeric data types in F # can be units of measure. Also F# has constructions to facilitate asynchronous input/output, CPU parallelization and output processes on the graphics processor.

The downside of F# is that it is not designed for a developer to dig into the details of how things are done like he would in an imperative programming language like C#. Despite the main downside, the upside is that F# can result in software that is more reliable, secure, and runs at a higher speed. It is more streamlined, and can allow an able practitioner to accomplish more things in a shorter amount of time.

In the past five years, F# has continued to gain its popularity, and Microsoft has detailed how the language has helped to solve complicated programming problems in industries as diverse as banking, insurance and energy.

Today the functional language comes with Visual Studio 2010, that is even better, but it’s not typical for the Microsoft corporation as the F # compiler and core library are available under the open Apache license. It’s free, and you can even use it on Mac, and Linux (using Mono runtime).

4. GO

Interpreters, virtual machines, and control codes are very popular today. The Google team of engineers leading by Robert Griesemer Ken Thompson and Rob Pike have developed Go – programming language for general purpose, which is suitable for everything: starting from application development up to programming systems. In this sense it is more like C or C ++, than Java or C #. Still as the latest languages, Go includes such advanced features as memory cleaning from unnecessary data, reflection of current processes etc.

Also it’s important that the language was created for easy programming. Its basic syntax is similar to C, but Go deletes unnecessary repetition during optimization programs such as objects definition. The aim of Go team was to create the language which it would be convenient to write codes on, as well as on a dynamic scripting language, still which at the same time would had the power of compiled languages.

As it has begun to grow in prominence, the platform has matured and new features have been added. For example, the creators announced at the end of last year that it would be possible to develop Android apps using Go code only, which could attract further interest and open new possibilities – particularly as most Android software has been written in Java so far.

After five years of evolution, Google’s Go language — with version 1.5, which came out August 2015 – has gone from being a curiosity to a promising source for fast-moving new projects.

5. Opa

Web Development – is not easy, even the simplest web application consists of endless lines written on several languages: HTML and JavaScript for the client, Java or PHP for the server part, SQL for database, etc. Who would have thought that it will be possible to write simultaneously the fronted and backend code, in the same language within the same module. Precisely for this purpose was created Opa language.

In Opa application user interface, client logic and the database server IO is written on one language – Opa. This is achieved with the combination of frameworks from the client and server. Opa compiler decides where this program should be run (on client, server, or on both of them), and then executes its code. For clients programs, it translates Opa to the appropriate JavaScript code, including AJAX calls.

The environment Opa combines its own Web server and database management system that cannot be replaced by independent alternatives. In any case, it might not be so important, taking into account the opportunity to develop modern web applications, managed by data with just a few dozen lines of code. In fact, this language enables to write full-stack applications: server (backend) programming (running on Node.js), client (frontend) programming (compiled to JavaScript) and database programming (using MongoDB).

Opa is free of charge for using and currently is available for 64-bit Linux and Mac OS X platforms, others ports have been developed yet.

6. Fantom

If you want to make a Java or .Net application, Fantom is at your disposal. In the beginning Fantom was created for a cross-platform mobility, so while using Fantom you can make a choice, and afterwards even switch the platforms. It provides a concise syntax along with elegant, cross portable libraries. Moreover the project Fantom consists not only of a compiler, which can run bytecode for JVM or .Net CLI but also it produces code from the API set, which separates API Java and .Net and form an additional level of mobility. It’s considered to be the one of Fan’s primary benefits, because it gives a chance to develop a suite of system APIs that are elegant and easy to use compared to the Java and .NET counter parts.

Further increase of Fantom mobility is planned. A compiler from Fantom into JavaScript is already available, and the next goal is the LLVM project compiler, the Parrot VM and Objective-C for IOS.

However, mobility is not the whole Fantom point. Being similar to C by its nature, it should also improve languages, which inspired developers to create it. It strives to take an intermediate position in the most controversial issues of syntax such as strict or dynamic typing, or while choosing between interfaces and classes. It has a light additional syntax for declaring data structures and object serialization. Besides it supports embedded functional programming and overlapping.

Like many of the niche languages, Fantom suffers from limited support via external tools. Its only IDE support, for example, is a single plug-in to the NetBeans product. This is likely to change as the community for Fantom grows and its unique design and cross-platform characteristics become more widely known.

Fantom is distributed for free under the Academic Free License 3.0 and is available for Windows and Unix-like platform (including Mac OS X).


Portable code is no longer off the wall. For instance, C has many available compilers for diverse architectures and CPU, and Java-bytecode will work wherever there is a JVM. However haXe is more than just portable, this is a multiplatform language, which can be used for different architecture as well as with various operating environments, ranging from embedded binary systems to interpreters and virtual machines.

Nowadays developers can write programs in haXe, and then compile them into object code, JavaScript, PHP, Flash/ActionScript or NekoVM bytecode. Extra modules for C# and Java compilation are under elaboration.

In addition to the wireframe language there is a standard haXe library, which runs alike with every object, and there are specialized libraries to perform the peculiar functions of each platform. This includes data structures, maths and date, serialization, reflection, bytes, crypto, file system, database access, etc. The Haxe standard library also includes platform-specific API that gives you access to important parts of the platform capabilities, and can be easily extended.

The haXe syntax similar to C and has an ample feature set. Its main advantage is the ability to eliminate the problems inherent in each of the platform. For example, haXe has strict typing where JavaScript doesn’t; the settings and type inference are added to ActionScript; besides it completely expels the poorly designed, ill-conceived PHP syntax.

Despite the fact that haXe is still under development, it’s already being used commercially by its creator, the game studio Motion Twin. Haxe is also used by thousands of developers worldwide to build games, apps, tools, and frameworks. Several high profile companies are using Haxe, such asNickelodeon, TiVo, Zynga and Prezi. It’s available for Linux, Mac OS and Windows under a combination of free licenses.


The majority of programming languages borrow functions and syntax from earlier languages. Zimbu took some pieces from almost all of them. Zimbu does not enforce one specific style of programming. You can do it the way that works best for the task at hand. The brainchild of Bram Moolenaar, creator of the Vim text editor, Zimbu is going to become a fast, precise, portable and easy to read language, which can be used to design anything from GUI-applications to OS kernels.

With its hybrid character, Zimbu syntax is unique and specific, but at the same time is rich with features. It uses expressions and operators, similar to those used in C, but with its own keywords, data types and block structures. It supports memory management, threads and conveyors. To be short Zimbu is procedural, like C: define procedures and data structures separately. Object Oriented, like Java: define classes that hold both procedures and data, support inheritance and other mechanisms to encourage code re-use. Functional: support function references, closures and callbacks.

The only problem is portability. Although Zimbu is a compiled language, its compiler produces ANSI C code, and binary files can be created only on platforms with integrated C-compiler.

Unfortunately, Zimbu project is still under development. The compiler and a few sample programs can be built by themselves, but not all valid Zimbu-code will compile and run properly. Not all declared functions are implemented; moreover even some implemented are ill-adapted. The language specification also might be changed over time: keywords, types and syntax will be added as the need arises. Hence, documentation is patchy. Still if you want to give it a try, pilot tools are already available under the Apache license.


Chapel, the first programming language by Cray, was created with provision for supercomputing and clustering.

Chapel is part of Cray Cascade Program, a large-scale HPC development, partially funded by the US Defense Advanced Research Project Agency (DARPA). Among the goals of this project are the segregation parallel algorithms from the hardware, the performance improvement on architectures and rising the parallel program’s portability. The creators typically characterize the Chapel language as having features related to the base language, task parallelism, data parallelism, and locality.

Chapel’s syntax consists of several languages’ syntaxes. In addition to the most frequently used (C, C++, Java), it borrows the concepts from such scientific programming languages as Fortan and Matlab. ZPL, High-Performance Fortan and previous Cray projects influenced Chapel’s functions of parallel-processing. Chapel is an imperative block-structured language, designed to be easy to learn for users of C, C++, Fortran, Java, Python, Matlab, and the like.

In contrast to many previous higher-level parallel languages, Chapel is designed around a multiresolution philosophy, permitting users to initially write very abstract code and then incrementally add more detail until they are as close to the machine as their needs require.

As it currently stands, Chapel is a useful prototype, yet one that requires additional work in order to be valuable to real users. At the moment it can be run on Cray supercomputers and various high-performance clusters, and it can be ported to most Unix systems (including MacOS X and Windows with Cygwin). The source code is available under a BSD-type free license.

10. X10

Once the parallel processing has been a specialized niche of software development, but due to the spread of multi-core processors and distributed computing, parallelism has gained popularity. Unfortunately, today’s programming languages don’t keep up with this trend. That is why IBM Research creates X10 – the language, which is developed specially for parallel architectures and aimed at accumulating developer productivity “ten times”. It is a class-based, strongly-typed, garbage-collected, object-oriented language.

X10 parallelism is possible thanks to PGAS programming model (a model of the divided global address space). Code and data are divided into blocks and distributed across different “spaces”, thus facilitating the program scaling from a single-threaded prototype (a single space) to a multi-threaded, running on one or more multicore processor (few spaces) in high-performance cluster.

It is well designed to get rid of some complexity related to distributed-computing programming. X10 code most coincides with Java code. In fact, the x10 runtime is available either as built-in executable files or as class files for the JMV. X10 compiler can output C++ or Java source code. In future it is planned to develop a direct compatibility with Java. It also strives to eliminate possibility of errors by design, and through static checking.

Meanwhile the language is establishing, though it is already quite developed. Implementations of X10 are available for a wide variety of hardware and software platforms ranging from laptops, to commodity clusters, to supercomputers.The compiler and runtime environment are available on different platforms, including Linux, Mac OS X and Windows. Additional utilities include: the interactive development environment(IDE), based on Eclipse, and a debugger. They are both distributed under the Eclipse Public License.

Unfortunately it’s represented not all new languages, still as for me main ones…

If you have tried to work with any of them, you are welcome to share your experience in comments. Would be interesting to read about your practices.

Thanks for your attention ;)

Elvira Golyak

Elvira Golyak
Skype ID: elviragolyak
Senior Business Development Manager (LI page)
Altabel Group – Professional Software Development

The Go Programming Language (Go) is an open-source programming language sponsored by Google and created by Robert Griesemer, Rob Pike, and Ken Thompson that makes it easy to build simple, reliable, and efficient software.

Go has gained popularity since it was first announced in 2009, and it’s now being used by many companies worldwide and for a variety of applications; Dropbox, Google, SoundCloud,  CloudFlare,  Docker and Cloud Foundry are some of the Go programming users.


Like any technology, though, it has its adherents and critics. Here are some key benefits and perceived drawbacks of the language as told by experts familiar with it.


  • It is fast. And not only fast in the sense that programs written in it run fast when compared to other common languages; but also fast in the sense that its compiler can compile projects in the blink of an eye. You can even edit and run Go programs directly on the Web.
  • It is a garbage-collected language. This puts less pressure on the developer to do memory management, as the language itself takes care of most of the grunt work needed.
  • It has built-in concurrency, which allows parallelism in an easier way than is possible in other languages. Go has the concept of goroutines to start concurrent work and the concept of channels to permit both communication and synchronization.
  • Go has documentation as a standard feature. That makes it easier for developers to document their code and generate human-readable data out of source code comments.
  • Go has a rich standard library which covers a lot of areas. In fact, Go is probably the only language that can claim to have a fully working Web server as part of its standard library.
  • Go’s built-in build system is both elegant and simple. No need to mess with build configurations or makefiles.


  • Go is still a very young language and has a very young ecosystem. This means there aren’t many libraries for it yet, leaving developers to write libraries themselves. There is also a shortage of books and online courses on the language.
  • Go is simple to the point of being superficial. Go’s simplicity is mostly superficial, and in its effort to find simplicity, it threw away decades of valuable programming language progress.
  • Although Go is a high-level language, it still has low-level features such as pointer-arithmetic which does not rule out the chance of doing systems and OS programming.
  • Go’s tooling is really weird, on the surface it has some really nice tools, but a lot of them, when you start using them, quickly show their limitations.
  • It is still not so easy to learn Go and it’s difficult to handle errors in it.

What is your attitude to Go? Is it worth learning? What do you think are Go’s advantages and disadvantages? Can you tell us about a real use you have given to this programming language? Please, feel free to share your thoughts here below.

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Being a mobile application developer, you should understand how important it is to be up-to-date on all the latest application development tools and technologies that have been brought into the world of mobile application development. Let’s have a look today at some essential ones that will be useful for Android developers. Of course the following list is not completed, so please feel free to add your own best tools in the comments below.

Fluid UI

Fluid UI is a browser-based wire framing and prototyping tool developed by Fluid Software and used to design mobile touch interfaces. It helps to rapidly create prototypes by arranging pre-built widgets into a drag-and-drop WYSIWYG editor during the requirements stage of app development. It enables iteration and collaboration between user and client. Fluid UI is built with the latest web technologies HTML5, CSS3 and JavaScript. Open source libraries are also integrated into the tool – primarily jQuery. About 300,000 designers in 204 countries are using Fluid UI to visualize the basic flow of their mobile apps. With Fluid UI, you may choose from more than 3,500 mobile, desktop, tablet and wearable widgets or upload your own images to get a pixel-perfect appearance for your Android application. Recently, Fluid UI has come up with its Enterprise edition that has been built keeping the large business organizations in mind.


The main purpose of Pencil is to provide a free and open-source GUI prototyping tool that can be easily installed and used in order to create mockups in popular desktop platforms. It provides various built-in shapes collection for drawing different types of user interface ranging from desktop to mobile platforms. Starting from 2.0.2, Pencil is shipped with Android UI stencils pre-installed. This makes it even easier to start prototyping apps with a simple installation. Popular drawing features are also implemented in Pencil. Available in its current version 2.0.5, Pencil serves extremely helpful for creating stunning mockups for apps targeting different mobile platforms.

Intel XDK

Dedicated to those who deal with HTML5 development, Intel XDK is pre-built into Chrome and lets you streamline the process of developing your Android app very conveniently. You can use Intel XDK to design, test and build HTML5 apps efficiently. Plus, you can take the opportunity of delivering your app on multiple app stores and form factors. Intel XDK is developer-friendly and makes the process of designing, building and testing apps very easy. Built with the aim of cutting down the app development time, Intel XDK supports integration with various third-party plug-ins that work as great tools for in-app purchasing and flawless advertising.


If you find it horrifying to develop the back-end for your Android application, then Parse is the right tool for you. It comes with different APIs which you can use for such things as storing data as well as setting up the push notifications feature for your Android application. Plus you can add custom JavaScript to your application’s server-side interaction. Whether you’d like to insert lengthy code into the right data path or make simpler the app’s interaction with multiple social networks, Parse will do all this for you.


It is a cloud-based app development tool which comes with a wide range of shortcuts that enable you to make your app available for the world. This tool utilizes PHP and an XML markup language for merging the intuitive properties of cloud-based CMS and template-based design system to help you with balancing of the app content. The Appscend UI permits you to add advertisements, followed by uploading the app to Google Play and other popular app stores.

Adobe PhoneGap

If you’d like to create fantastic Android apps using your favorite web technologies like HTML, CSS and JavaScript, then PhoneGap is the perfect tool for you. With PhoneGap, you can easily create mobile apps using the standardized web APIs available for the mobile platforms that you intend to target. The Adobe PhoneGap Enterprise edition enables you to develop Enterprise mobile applications that function brilliantly across multiple channels and platforms.


If you have difficulties starting an emulator and running your Android application, then Genymotion is the right tool for you. It is an Android emulator which comprises a complete set of sensors and features in order to interact with a virtual Android environment. With Genymotion, you can test your Android applications on a wide range of virtual devices for development, test and demonstration purposes. Trusted by over 2,500,000 app developers across the globe, it is fast, simple to install and powerful thanks to user-friendly sensor widgets and interaction features. It is available for Windows, Mac OS X and Linux operating systems.

Android Debug Bridge (adb)

Android Debug Bridge is a versatile command line tool which lets you communicate with an emulator instance or connected Android-powered device. With it you could upload and download files, access multiple features via the shell available on emulator or device, install and uninstall packages, perform a query for emulator/device instances etc. It is a client-server program that includes three components:

• A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients.
• A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.
• A daemon, which runs as a background process on each emulator or device instance.


LogCat serves as the Android logging system which gives you a good tool for viewing and collecting system debug output. You can access it from within Eclipse and Android Debug Bridge. With LogCat it’s possible to easily get useful diagnostic details about different things that have taken place on your logging system. Other than that you can easily let your applications log the debugging and diagnostic details to this tool. What is interesting about LogCat tool is that you can run it as Android Debug Bridge command or directly in the form of a shell prompt which belongs to your connect gadget or the chosen emulator.

Android application development expects a developer to use a variety of icons, default Android graphics and splash screens. Fortunately, there is which allows you to auto-generate icons and splash images, followed by unzipping and copying them into your Android Studio project. Since does all the processing in JavaScript, you don’t have to worry about your files getting exposed to the public. As a free-to-use website, created icons after taking into account factors like proper resampling, no watermarks, no flash etc. One of the greatest advantages of using is that the files aren’t stored on the web server. This means, different launch images and icons can be created and downloaded in the form of a zip file.

It goes without saying that all the above mentioned Android application development tools offer excellent options to a developer. And what are your favorite ones? Please feel free to comment below ☺


Yuliya Tolkach

Yuliya Tolkach
Skype ID: yuliya_tolkach
Business Development Manager (LI page)
Altabel Group – Professional Software Development


JavaScript is celebrating 20th anniversary in 2015. It’s a language with a changeable history and carries a lot of baggage from its childhood, but as it leaves its teenage years behind it, now it’s a language that has finally grown up. JavaScript made a revolution in web by allowing scripts to run in a browser. But after its initial popularity soon the reputation was spoiled and JS was often associated with poorly written, cut-and-pasted code that was used to create annoying pop-ups and cheesy ‘effects’. Thus we see that JavaScript had some annoying weaknesses as a programming language.

On the other hand, we can observe that JavaScript has “ubiquity” that other programming languages don’t have. One must admit that you just need a browser to run, which means that anyone with a smartphone or computer is capable of running a JavaScript application. JavaScript has made the dream true that Java was available on all platforms by using the browser as its virtual machine. And now thanks to Node.js, it can run without a browser.

It is well known fact that simple text editor – is all you need to write a program in JS. JavaScript has a low barrier to entry when it comes to development. And we also must agree with GitHub that JavaScript is one of the most popular languages. This means that help is often easy to come by and there is a lot of JavaScript code out there. Furthermore, one should not forget that it also means that code’ libraries are well tested and many issues have already been solved.

After a first decade, which was a period of awkward childhood, JavaScript was growing up like most of the teenagers. People changed their mind with the revolutionary advent of Ajax. jQuery then made people using JavaScript to build some new applications and Node has taken it all to a whole serious level. JavaScript established itself as a powerful and flexible language with some cool features such as:
– Prototype-based Inheritance
– Closures
– JSON (subset of the object literal notation of JavaScript)
– Asynchronous event-driven programming
– Functions as objects

Frameworks and Libraries

Lots of frameworks and libraries have been written to mitigate problems and improve JavaScript for programming. JavaScript framework is the set of pre-written JavaScript code that helps to ease development of the JS based applications. This framework is also known as JavaScript libraries, which enhance the use of this programming language in many ways.
We have already shared some posts about the JavaScript frameworks in the past. JavaScript framework can be found anywhere on the web with different type of working capabilities. We have selected few of them to keep an eye on, and we hope you will find our compilation useful.

1) Angular.js

Open-source web application framework. It aims to simplify both the development and the testing of such applications by providing a framework for client-sidemodel–view–controller (MVC) and model–view–viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications.

2) Ember.js

Open-source JavaScript application framework, based on the model-view-controller (MVC) pattern. It allows developers to create scalable single-page web applications by incorporating common idioms and best practices into the framework.

3) Meteor (MeteorJS)

Open-source JavaScript web application framework written using Node.js. Meteor allows for rapid prototyping and produces cross-platform (web, Android, iOS) code. It integrates with MongoDB and uses the Distributed Data Protocol and a publish–subscribe pattern to automatically propagate data changes to clients without requiring the developer to write any synchronization code. On the client, Meteor depends on jQuery and can be used with any JavaScript UI widget library.

4) Backbone.js

JavaScript library with a RESTful JSON interface and is based on the model–view–presenter (MVP) application design paradigm. Backbone is known for being lightweight, as its only dependency is on one JavaScript library, Underscore.js. It is designed for developing single-page web applications, and for keeping various parts of web applications (e.g. multiple clients and the server) synchronized. Backbone was created by Jeremy Ashkenas, who is also known for CoffeeScript.

5) Knockout.js

JavaScript implementation of the Model-View-ViewModel pattern with templates. Main principles are: a clear separation between domain data, view components and data to be displayed; the presence of a clearly defined layer of specialized code to manage the relationships between the view components. These features streamline and simplify the specification of complex relationships between view components, which in turn make the display more responsive and the user experience richer.

6) Ext JS (Sencha Ext JS)

JavaScript application for building interactive cross platform web applications using techniques such as Ajax, DHTML and DOM scripting. Ext JS includes interoperability with jQuery andPrototype.

7) D3.js (D3)

JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of the widely implemented SVG, HTML5, and CSS standards. It is the successor to the earlier Protovis framework. In contrast to many other libraries, D3.js allows great control over the final visual result.


JavaScript will be one of the most important languages to learn and invest into over the next few years. Website development is into a single-page web application that relies on JavaScript to do the heavy lifting on the client side (in this case, usually JS goes with modern front-end frameworks such as Backbone or Angular.js). The advantage of using Isomorphic JavaScript is increasing the popularity of JS. The data that is transported from databases is often stored in JSON format. The possibility of using a combination of HTML, CSS and JavaScript let you build an application for iOS, Android and FireFox OS. JavaScript has existing libraries, plugins, APIs and other cool stuff to be broad used in The Internet of Things (IoT). JavaScript is becoming the language not just for the front and back end of web development, but also for interacting with a huge number of modern devices.

To sum up, I must admit that now is the perfect time to get started with JavaScript projects, as it moves into its 20s, and has finally grown up for starting to go places!
What are your opinions about JavaScript future, its libraries and frameworks? I’d love to hear your thoughts in the comments.



Svetlana Pozdnyakova 
Skype ID: Svetlana.pozdnyakova
Business Development Manager (LI page)
Altabel Group – Professional Software Development


We are often asked about which iOS game engine to use. It is believed that most companies are looking for a free game engine so here is a comparison of the different open source iPhone game engines that actually have apps out there.  Also these game engines now support the iPad.

Sparrow Framework

The Sparrow Framework is a very lightweight 2D game engine created in Objective-C.

It was built from ground up for iPhone, iPad and iPod Touch. You can easily integrate it with your existing UIKit apps, access all iOS APIs directly and benefit from native performance.

If you have already worked with Adobe Flash or Starling, you will feel right at home: Sparrow uses the same concepts and naming schemes. Even if you’re coming from a different background, you’ll get the hang of it quickly, because everything is designed to be as intuitive and easy to use as possible.

The game framework includes all the necessary features you’d require for creating a basic 2D game such as easy animation, and a sound engine.

Cocos2D IPhone

The Cocos2D iPhone game engine is a port of a game engine originally created in Python and converted to iPhone Objective-C.  As you can tell from the name, Cocos2D is designed for 2D games, that being said, although the engine is in a 2D world, the engine includes a growing collection of high quality 3D special effects.  Cocos2D has also been released on the Mac so you can ease the release on 2 platforms.

Cocos2D is the first engine to check out, while many may be turned off by the engine not supporting a 3d world, if you look at most of the top iPhone games the gameplay is 2D, in fact the iPhone’s touch screen controls can make it difficult to operate in a 3D world.

The engine provides more examples than any of the other engines out there because of the large community.


iSGL3D (iOS Scene Graph Library) is a 3D framework for the iPhone, iPad and iPod Touch written in Objective-C, enabling the creativity of developers to flourish in a 3D world without the complexities of OpenGL.

With its rich set of features, iSGL3D provides the necessary tools to develop 3D applications in an incredibly short time frame, even with a minimum of experience in 3D graphics. The principal behind iSGL3D is to make construction and manipulation of 3D scenes as simple as possible for a developer.

With a single line of code you can add a 3D object whether it is a simple primitive, a sprite (or particle) or your own imported asset. Properties on these objects allow you to modify their appearance, position, rotation and more very simply. You can add containers too to group objects and manipulate them together. In a short period of time you can build up a complex 3D scene.

Moai SDK

The Moai SDK is an open source 2D game engine. It designed more for people who know what they’re doing. While it includes the ability to start developing a game immediately from a downloadable binary, it only supports using the FreeGLUT library on the desktop. It is designed in such a way that it expects the developer to be able to create the windowing system themselves.

The main language used with Moai is Lua. Most of the time you shouldn’t need to use C++ to extend the base engine, but the capability to do so is there. The documentation for the Lua codebase is kind of weak however, so you should be ready to do some searching to find out how to use various capabilities. You can create your games with Moai on both Windows (Visual Studio) and Mac (Xcode).  In order to
submit your games to the iOS app store you will need to do so with a Mac.

Oolong Engine

The Oolong Engine is written in C++ with some help from Objective-C. It will help you to create new games and port existing games to the iPhone, the iPod touch and the iPad.

Oolong provides support for a wide variety of features and provides excellent performance.


Haxe is a multi-platform language that most notably compiles to SWF and has been used in many Flash games.

Galaxy Game Engine

The Galaxy Game Engine is a very promising engine with an extensive feature set. This is a BSD licensed 3D engine that includes some very useful tools such as a level editor, terrain editor, model viewer, particle editor, and shader IDE.

Sure, we may make this list longer, but let me stop here. The most important thing, which I’d like to notice, is that you should select the engine which fits your project needs and suits your purposes in the best way.

And what do you think? To what engine would you give your preference?

Feel free to share with us your thoughts!


Marina Karabanova
Skype ID: m.karabanova
Business Development Manager (LI page)
Altabel Group – Professional Software Development


Today the first events within GamesCom 2015 are kicking off. The main European game show will perform almost finished image of the game industry of 2015.

What should we expect from the nearest days? Let us have a look.

Gamescom 2015 obviously passes up in comparison with E3 in terms of number of the renowned companies, but Gamescom has hosted plenty of big announcements and reveals in its time – and 2015 will give us plenty to talk about.


Microsoft is going to make a huge impress during its conference that will take place on Tuesday, August 4, 7am PT / 10am ET / 3pm UK time.

One of the headliners will be Halo 5 for Xbox One, with an ESL invitational tournament happening on the Friday to get the pros into the game. However, Quantum Break, Scalebound and Crackdown will all be getting some exclusive coverage – and we might even see some more Fallout 4 footage during the conference. However, Sea of Thieves and Recore will be missing the show.
Microsoft is also preparing some surprising announcements. Whatever could they be?


Sony is skipping Gamescom this year; they plan to arrange their own presentation on October 27 during Paris Games Week.

It could be a risky strategy, but if it has nothing new to show moving on from its big E3 presence then showing up with nothing could have done more damage than good.


After its phenomenal E3 showcase, Bethesda will be hitting Gamescom to show us more of Fallout 4. Unfortunately, it will not be offering up a playable trailer, but Bethesda will be showing off more gameplay at a presentation. Do not expect footage of any of the other Bethesda titles – Gamescom will be dedicated to the nuclear wasteland.

Electronic Arts

EA will be hosting a press conference at this year’s Gamescom, and it will be taking place on August 5 at 1am PT / 4am ET / 9am UK time.

Being showcased at the EA event will be FIFA 16, Mirror’s Edge Catalyst, Need for Speed, Plants vs. Zombies Garden Warfare 2, Star Wars: The Old Republic, Unravel and more.

DICE though has also been possibly teasing a reveal of another ‘hero’ character for Star Wars Battlefront via the EA Star Wars Facebook page.

Or it could turn out to be a one-hour gameplay demo of Plants vs. Zombies: Garden Warfare 2.


The relationship between Konami and Hideo Kojima may have ended, but before the ties are severed, they have an unfinished business: Metal Gear Business.

Konami has confirmed that Metal Gear Solid V: The Phantom Pain will be playable at Gamescom 2015.


2K Games will be showing off the ‘worldwide reveal’ of the third instalment in its open-world, Mario Puzo homage, Mafia III. It teaed the announcement via Twitter with the reveal – read teaser trailer – showing up on August 5 5am PT / 8am ET / 1pm UK time.


Also holding its own invite-only press conference will be Blizzard. It is being a little secretive about what exactly will be shown, but we do now know that we will get our first glimpse of the new World of Warcraft expansion.

Now that Warlords of Draenor has reached content complete status, it is time for Blizzard to tell us what is next. VG247 is reporting a new trademark from Blizzard for Council of Glades, which could end up being the name of the new WoW update.

There will surely be more info coming about the already known Starcraft II: Legacy of the Void expansion. Might we also see Hearthstone moving from PC to console too?

The press conference is taking place on August 5 3am PT / 6am ET / 11am UK time so we will know more as it happens.

For the public though the new WoW expansion will be shown on the evening of August 6, after a live concert by Songhammer, playing Blizzard inspired ROCK.

Tatyana Ogneva

Tatyana Ogneva 
Skype ID: ognewatatyana
Business Development Manager (LI page)
Altabel Group – Professional Software Development


%d bloggers like this: