BBVA API Market
A simple search on Google Trends shows how the technologies making up this development package are becoming increasingly popular in the community:
MEAN quartet characteristics
MongoDB is one of the NoSQL databases most widely used on the market. Specifically, it is a multi-platform database management system oriented at documents (set of records or data) and with a completely free scheme (it must not be predefined). This means that each document (for example, information on products or clients) can have attributes different from the rest.
Some of its key technical features are:
– It stores structured, semi-structured and unstructured data.
– Database management system prepared to offer scalability, performance and high availability of large volumes of data.
– Agile in both read and write processes, under an in-memory computing protocol. This means that any company can grow quickly in terms of the number of applications and projects, without this entailing an increase in development time and, therefore, growing costs.
– It has native replication and fault tolerance, a key element if the project requires high levels of reliability and security.
– There are drivers in most programming languages: C#, C, C++, PHP, Python, Ruby, Java, Perl…
– It operates on Windows, Mac OS X and Linux operating systems.
– It is open source, under a GNU AGPL v.3.0 license.
Google is behind its launch and maintenance, so it is a rather sound solution for the community. Its aim is to optimize both development and testing in the design process.
This framework is basically designed for developing single-page web applications (SPAs), i.e. the user browses the different views of the app without a traditional browsing through the URLs. This greatly improves the user experience in two ways: wait times and latency during browsing are reduced. The applications are faster and smoother.
The key features of AngularJS are:
– Bidirectional data-binding system. The Model and the View are always updated in sync with any change in the data. This makes a lot of sense for a developer because it avoids having to write code again and again. Any change in the DOM modifies the Model and any modification in the Model transforms the DOM. The fact that this process is automatic is a relief when an application grows in volume.
– It has a Dependency Injection pattern, which enables more useful and simple creation of objects for programmers. This pattern enables the separation of the code by responsibilities and the creation of objects in a structure independent of the rest of the objects.
In traditional operation, each new connection with the server is associated with a consumption of 2 MB of memory. In a standard system with 8 GB of RAM, the limit for this application would be 4,000 simultaneous user connections. With Node.js this scenario changes completely. Each machine would be able to support over one million connections at the same time.
Some of its key features include:
– Asynchronous programming.
– Event-oriented programming.
– It supports the integration of third-party modules that can extend the functionality of Node.js in web app development.
Express is a server-side framework for developing web applications using Node.js. It is inspired in Sinatra. It is a fast and flexible framework with a large community behind it, which is always important due to the volume of documentation existing for project development.
Some of its features include:
– It offers a URL Router.
– Accessible creation of APIs.
Follow us on @BBVAAPIMarket
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.
App users must be aware that a button... is in fact a clickable button. Therefore, app buttons must be designed in such a way that users should feel invited to interact with the interface and actually click on it.