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.
Taking a customer through the entire buying process until it is formalized is an arduous journey and one that faces the constant possibility of the customer leaving. However, there are ways to make the buying decision happen if you are given facilities such as agile, secure financing.
In a connected world, APIs are the glue that keeps all the parts that form our day-to-day lives in place. The same way the power of glue depends on the material it is used on and the knowledge of its properties, APIs are only as useful as their documentation allows for.
There are different solutions to monitor the performance of an API, in terms of traffic, quality and speed of the answers it provides. Detecting faults in the code or quantifying the generated revenues are also some of the options offered by these useful tools.
Please, if you can't find it, check your spam folder
×
The email message with your ebook is on the way
We have sent you two messages. One with the requested ebook and one to confirm your email address and start receiving the newsletter and/or other commercial communications from BBVA API_Market
×
PROCESSING OF PERSONAL DATA
Who is the Data Controller of your personal data?
Banco Bilbao Vizcaya Argentaria, S.A. (“BBVA“) with registered address at Plaza de San Nicolás 4, 48005, Bilbao, España and Tax ID number A-48265169 . Email address: contact.bbvaapimarket@bbva.com
What for and why does BBVA use your personal data for?
For those activities among the following for which you give your consent by checking the corresponding box:
to receive newsletter from BBVA API_Market through electronic means;
to send you commercial communications, events and surveys relating to BBVA API_Market to the e-mail address you have provided.
For how long we will keep your data?
We will keep your data until you unsubscribe from receiving our newsletter or, if applicable, the commercial communications, events and surveys to which you have subscribed. Whether you unsubscribe or whether BBVA decides to end the service, your details will be deleted.
How can I unsubscribe to stop receiving newsletters and/or communications from BBVA API_Market?
You can unsubscribe at any time and without need to indicate any justification, by sending an email to the following address: contact.bbvaapimarket@bbva.com
To whom will we communicate your data?
We will not transfer your personal data to third parties, unless it is mandatory by a law or if you have previously agreed to do so.
What are your rights when you provide us with your information?
You will be able to consult your personal data included in BBVA files (access right)
You can modify your personal data when they are inaccurate (correction right)
You may request that your personal data not be processed (opposition right)
You may request your personal data be deleted (suppression right)
You can request a limitation on the processing of your data in the allowed cases (right of limitation of processing)
You will be able to receive, in electronic format, the personal data you have provided to us, as well as to transmit them to another entity (portability right)
You are responsible for the accuracy of the personal data you provide to BBVA and to keep them duly updated. If you believe that we have not processed your personal data in accordance with regulations, you can contact the Data Protection Officer of BBVA at the following address dpogrupobbva@bbva.com.
You can find more information in the “Personal Data Protection Policy” document on this website.
×
PROCESSING OF PERSONAL DATA
Who is the Data Controller of your personal data? Banco Bilbao Vizcaya Argentaria, S.A (“BBVA“), with registered address at Plaza de San Nicolás 4, 48005, Bilbao, España, and Tax ID No. A-48265169. Email address:contact.bbvaapimarket@bbva.com
What for and why does BBVA use your personal data for?
For the execution and management of your request, specifically, download the requested e-book/s.
BBVA informs you that, unless you indicate your opposition by sending an email to the following address: contact.bbvaapimarket@bbva.com, BBVA may send you commercial communications, surveys and events related to products and/or services of BBVA API Market through electronic means.
For how long we will keep your data?
We will keep your data as long as necessary for the management of your request, and to receive commercial communications, events and surveys. BBVA will keep your data until you unsubscribe to stop receiving our newsletters or, where appropriate, until the end of the service. Afterwards, we will destroy your data.
How can I unsubscribe to stop receiving newsletters and/or communications from BBVA API Market?
You can unsubscribe at any time and without need to indicate any justification, by sending an email to the following address: contact.bbvaapimarket@bbva.com
To whom will we communicate your data?
We will not transfer your personal data to third parties, unless it is mandatory by a law or if you have previously agreed to do so.
What are your rights when you provide us with your information?
You will be able to consult your personal data included in BBVA files (access right)
You can modify your personal data when they are inaccurate (correction right)
You may request that your personal data not be processed (opposition right)
You may request your personal data be deleted (suppression right)
You can request a limitation on the processing of your data in the allowed cases (right of limitation of processing)
You will be able to receive, in electronic format, the personal data you have provided to us, as well as to transmit them to another entity (portability right)
You can exercise before BBVA the aforementioned rights through the following address: contact.bbvaapimarket@bbva.com
You are responsible for the accuracy of the personal data you provide to BBVA and to keep them duly updated.
If you believe that we have not processed your personal data in accordance with the regulations, you can contact the Data Protection Officer at the following address: dpogrupobbva@bbva.com
You can find more information in the “Personal Data Protection Policy” document on this website.
Banco Bilbao Vizcaya Argentaria, S.A. owner of this portal uses cookies and/or similar technologies of its own and third parties for the purposes of personalization, analytics, behavioral advertising or advertising related to your preferences based on a profile prepared from your browsing habits (e.g. pages visited). If you wish to obtain more detailed information, consult our Cookies Policy.
Cookie settings panel
These are the advanced settings for first-party and third-party cookies. Here you can change the parameters that will affect your browsing experience on this website.
Technical Cookies (required)
These cookies are used to give you secure access to areas with personal information and to identify you when you log in.
Name
Owner
Duration
Description
gobp.lang
BBVA
1 month
Language preference
aceptarCookies
BBVA
1 year
Configuration Accepted Cookies
_abck
BBVA
1 year
Helps protect against malicious website attacks
bm_sz
BBVA
4 hours
Helps protect against malicious website attacks
ADRUM_BTs
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
xt_0d95e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
wpml_browser_redirect_test
WPML
Session
Text translation in the portal
wp-wpml_current_language
WPML
24 hours
Text translation in the portal
They are used to track the activity or number of visits anonymously. Thanks to them we can constantly improve your browsing experience
Your browsing experience is constantly improving.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
AMCV_***
Adobe Analytics
Session
Unique Visitor IDs used in Cloud Marketing solutions
AMCVS_***
Adobe Analytics
2 years
Unique Visitor IDs used in Cloud Marketing solutions
demdex (safari)
Adobe Analytics
180 days
Create and store unique and persistent identifiers
sessionID
Adobe Analytics
Session
Launch's internal cookie used to identify the user
gpv_URL
Adobe Analytics
Session
Adobe Analytics plugin: getPreviousValue Capture the value of a certain variable in the following page view, in this case the prop1
gpv_level1
Adobe Analytics
Session
Cookie used to store the DataLayer levl1 of the previous page.
gpv_pageIntent
Adobe Analytics
Session
Cookie used to store the pageIntent of the previous page.
gpv_pageName
Adobe Analytics
Session
Cookie used to store the pagename of the previous page.
aocs
Adobe Analytics
Session
Cookie that stores the first values collected at the beginning of a process.
TTC
Adobe Analytics
Session
Cookie used to store the time between the App Page Visit event and the App Completed event.
TTCL
Adobe Analytics
Session
Cookie used to store the time between the LogIn event and App Completed.
s_cc
Adobe Analytics
Session
Determine if cookies are active
s_hc
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_ht
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_nr
Adobe Analytics
2 years
Determine the number of user visits
s_ppv
Adobe Analytics
Permanent
Adobe Analytics plugin: getPercentPageViewed Determine what percentage of the page a user views
s_sq
Adobe Analytics
Session
ClickMap/ActivityMap features
s_tp
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_visit
Adobe Analytics
2 years
Cookie used by Adobe to know when a session has been started.
They allow the advertising shown to you to be customized and relevant to you. Thanks to these cookies, you will not see ads that you are not interested in.
The advertising is customized to you and your preferences.
Your choice means you will not see customized ads, only generic ones.
Name
Owner
Duration
Description
OT2
VersaTag
90 days
VersaTag Cookie used to store a user id and the number of user visits.
u2
VersaTag
90 days
VersaTag Cookie where the user ID is stored
TargetingInfo 2
MediaMind
1 year
Cookie that serves to assign a unique random number that generates MediaMind.
These cookies are related to general features such as the browser you use.
Your experience and content have been customized.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
mbox
Adobe Target
9 days
Cookie used by Adobe Target to test user experience customization.
×
Looks like you’re browsing from Mexico, so let’s show you the custom content for your
location. Change
Looks like you’re browsing from Spain, so let’s show you the custom content for your
location. Change
Select a country
In order to access the private area and corresponding sandbox, select the country of the APIs you want to use.