Trends in software development for 2016

6 min reading
Trends in software development for 2016
Trends in software development for 2016

BBVA API Market

We have already dedicated an article in BBVAOpen4U to trends in digital design for 2016, and now it is the turn of trends in software development. Among the most notable of these is cloud development, continued commitment to application programming interfaces (APIs), web components and isomorphism. Here is a list of some of the tools and new features available to developers this year.

1. Cloud development

A substantial part of the software development business is being moved to the cloud; not only as a system for storing information or procedures, but also the actual process of developing applications. So much so, that it is highly possible 2016 will be the year when most of the applications that are not in the cloud will have to be compatible with it, as these business applications will probably be moved to the cloud.

In BBVAOpen4U we have already discussed the importance of some tools that allow developers to edit their code directly in the cloud. They are the famed Integrated Development Environments (IDEs), which are housed in the cloud instead of the machine. We dealt with some of the most important (Cloud9, Codio, Codenvy and Nitrous) in a more extensive article, including an analysis of their characteristics and the benefits of using them within a company’s development team.

Some of these clear benefits are:

–       The developer can program from anywhere.

–       Great capacity for customization of the IDE.

–       Collaborative work in real time.

–       Less implementation time.

–       Rather than online IDEs they are development platforms as a service (dPaaS), with benefits for costs and productivity. 

2. Application Programming Interfaces (APIs)

Today we cannot conceive of the development of applications or solutions without the existence of APIs. Most companies with an Internet presence that generate services of some kind use APIs in their relations with customers. A very practical example is social networks like Facebook and Twitter, which have turned their APIs into a quick way of interacting with partners to offer products or services.

In 2016 the use of APIs may become the rule for secure exchange of information between suppliers and customers; for example, in businesses using B2B (business to business) in a variety of areas such as email marketing, content creation, search engine positioning, management of social networks, web analytics or paid searches.

With the growing importance of the cloud and the use of mobile devices, APIs offer enormous advantages for development teams.

3. Web components

Our colleague Carlos Azaustre recently explained how web components represent the present and future of web development. The W3C standard can break down the development of desktop and mobile web applications into small containers with JavaScript and CSS styles. Each of these containers is called a component and can be common to various applications, thus greatly economizing the development effort.

The originator of web components is Google, starting with the launch of the development framework Angular JS, which we have discussed on more than one occasion on BBVAOpen4U. With this framework based on the model-view-controller paradigm, developers could incorporate the concept of directives (own HTML tags for outside HTML marking) into their own open source projects. It means the arrival of components as a concept of collective development: pieces that serve for different projects. 

4. Big data in real time: Apache Spark for everything

Apache Spark is possibly the most revolutionary big data technology of recent years. Its capacity to process and analyze large sets of data in real time is far ahead of any previous technology. Spark is an open-source distributed computation platform, which offers in-memory calculation times that are quicker than MapReduce: Spark’s performance is 10 to 100 times quicker.

In addition, Spark has an key advantage for any IT team in the world: it is a platform that unifies all the normal big data processes. It combines Spark SQL for querying structured data with the SQL language or an API; Spark Streaming to manage data in real time instead of by batches; MLlib to provide Spark with functionalities related to machine learning; and GraphX, a development framework for graphic processing. It is an all-in-one that offers differential value.

5. The Java programming language in decline

The development of modern software with solutions like the MEAN quartet (MongoDB, ExpressJS, AngularJS and Node.js), or the use of big data like Spark, drives other types of programming languages such as JavaScript, Python or Scala rather than Java, a syntax that years ago was the almost certain point of entry in the professional development market. Today this is still so, but its dominance is declining with the passage of time.

A simple search on Indeed, the job and trends portal, gives clear graphics for all the syntaxes that we have mentioned: Java clearly declining, JavaScript and above all Python and Scala, on the rise. Of course, the US market is very different to the Spanish. That is an important point. 

6. NoSQL databases

For development in the cloud it is essential to move from relational databases to non-relational (NoSQL), not because relational databases cannot be executed in the cloud – they can – but because relational databases have greater up and down scalability. In other words, their performance is better when the data load increases or decreases at great velocity.  

There are various NoSQ databases with different uses. As a virtual machine there is CouchDB, Cassandra, Hadoop in Amazon EC2, Neo4J or MongoDB in Amazon EC2 or Microsoft Azure. Amazon EC2 and Microsoft Azure are service solutions in the cloud. With the database function as a service, there is Google App Engine, MongoDB and Amazon DynamoDB.

7. PHP 7

2016 may be the year of the PHP 7 version. This programming language is a simple syntax to learn, codify and debug. It is also tremendously flexible. Within the PHP developer community many hopes are placed on this version because it offers numerous added advantages with respect to PHP6, including the fact that it is 100% quicker.

PHP6 was a failure because of its attempt to implement Unicode support. PHP 7 put its main efforts into gaining performance by refactoring the Zend Engine based on the work of PHP Next Generation. The idea of version 7 is a PHP syntax that is more geared to objects and more robust. PHP 7 is more like Java than the previous version of the same syntax. There are many analyses already published of the characteristics of PHP7: among them we would highlight this analysis and this article.

8. Isomorphism

The idea of isomorphism is for the client and the server to use the same code. The technologies that have this capacity will begin to have some competitive advantage with respect to those that do not. It gives greater velocity and improves the performance of programs. And that is a lot.

One example of technology that uses isomorphism is ReactJS, an open-source JavaScript library for the design of graphic interfaces. It is a library for front-end development supported by Facebook, and among its more interesting uses are the improvements in the development of Instagram. 

9. The Internet of Things and wearables

JavaScript development environments through the server layer such as Node.js have become the perfect scenario to work with connected objects, known as the Internet of Things. Internet of Things projects can also be developed using the Raspberry Pi hardware, a motherboard (a minicomputer) that we have talked about more than once and in which the I/O projects are programmed in Python.

The forecasts for business in this market are spectacular: by the year 2020 the IoT market is expected to generate revenue of 7 billion dollars, with more than 20 billion objects connected, according to Gartner. Smart watches, biometric bracelets, connected cars… the possibilities of this market for developers are infinite. 

10. Machine learning and deep learning.

Deep learning  and machine learning  are the two essential fields today when talking about artificial intelligence and big data. Deep learning focuses particularly on projects for natural language processing and its voice-assisted applications; machine learning on the creation of predictive models, where the machine’s own performance allows it to improve its valuations.

Major sectors such as health, education or finance use artificial intelligence for the study of personnel, increasing the efficiency of services, anti-fraud practice and learning methods. There is an infinite number of startups or companies that get benefits from the processing of natural language or the creation of data models for their exploitation. 

10. Virtual reality, augmented reality and wearables

Today more than ever we can say that we are at a key time in the development of projects related to virtual reality and augmented reality. Large companies such as Google, Facebook and Microsoft have operational projects underway such as Google CardBoard and the launch some time ago of 360º videos on YouTube, the Oculus Rift and MS Hololens. Others such as Apple use the recruitment of professionals of enormous talent in the field of virtual and augmented reality such as Doug Bowman

Click here for more information on APIs.

Follow us @BBVAAPIMarket

It may interest you