Nowadays, there is no so huge hype around cloud computing as it was several years ago. On the other hand, cloud development is a robust part of IT industry with its own history and trends. For now, Software as a Service is not just about launching the code in the cloud and scale it in real time. Most Cloud users deploy code weekly or even daily, there are questions on Testing/QA processes, Production/Deployment workflows and more strong software security approaches. Elasticity of cloud structure the key factor to implement Big Data project in the cloud, as well as, storage, analytics and batch processing application. Large companies want more control on their Software as a Service solutions. They can build their own cloud infrastructure based on one of open source solutions. Small teams rather use well-known public clouds.
Cloud development principles
A lot of projects are moving to the cloud these days. Developers face a common set of challenges. There are basic principles to achieve the best results. Document architecture and deployment infrastructure. Designed solution should be highly cohesive and loosely coupled.
The main idea is to split the code into 2 sets of classes: Models and Views. A Model is responsible to handle all data of specified component. It loads, saves and represents it for a View. A View is rather a controller to handle UI, render widgets and specify actions for a Model to provide any changes. You can use any front-end HTML templates system within Backbone Views.
As I said above, Backbone is just a set of approaches to organize complicated project in robust way and a bunch of source code to help with it.
Nowadays, there are a lot of businesses and startups are growing up in the form of Software as a Service (SaaS). Recently, Facebook giant bought Parse [http://parse.com] innovative startup in this field. Parse is a back-end as a service. It is not a ready to use product for the concrete client, but a service for software developers that can help a lot. It can speed up the development process and reduce costs, as it solves the problem with back-end or server side in the most cases the project needs. Parse fits to a demo or a prototype ideally, because the main goal here is to build first working version as soon as possible with minimum resources.
In 2014 was released first officially stable version 1.0 of the Meteor [http://www.meteor.com] most cool web application framework nowadays. Software developer have been using a lot of web application development frameworks and libraries in development and production for 10+ years. Why Meteor is so excited? It’s not one more platform in a row or new pure marketing buzzword. It’s rather a new approach to the construction of the project. This technology provides to Iflexion a new quality of Web Application Development process.
Recently, there was released version 4.6.3 of very popular game development platform Unity [http://unity3d.com]. As it is multiplatform engine, it supports all major mobile architectures. That makes Unity one of the best Mobile Solutions in game development area. Target application can be built for Android, iOS, Windows Phone, OS X, Linux and Microsoft Windows. Besides, it also supports such pure game platforms, like Xbox, Wii and PlayStation. Technically, any Unity application uses OpenGL and DirectX. Unity platform is widely used by all kinds of game development companies from huge monsters (EA, Blizzard) to tiny teams creating indie-games. Development version of Unity3D package is free, so, anyone can download and install it to start new game project. There is modern IDE with intuitive drag-and-drop interface that running both on Windows and OS X. It allows developer to concentrate on the aspects of the game instead of pure technically points of the project. You can debug the game right in the IDE. It doesn’t need any mobile device or emulator to create Mobile Solutions by Unity3D engine.
Mono development platform
Unity is based on Mono platform [http://www.mono-project.com]. It’s a bit modified version of .NET framework. The main feature of Mono is a multi-platform support, that beyonds regular .NET world of Windows architecture. Unity is one of the most actual application of Mono as a development platform mentioned as successful example in various articles.
10 years ago, Spring framework became a trend in Enterprise Java Development without huge and overweight classic JEE (it was called J2EE) technology based on EJB. We called Spring as JEE without EJB. Its amazing IoC container and DI schema have been doing our life much more easy. Configuration via annotations made the whole process even more fun, because it allows us to avoid describing all our beans and relations in XML. Nowadays, modern popular frameworks like Ruby on Rails or Django provides even more fast tools and development practices. On the other hand, Java Development world is bit more conservative. We had no easy and fast way to start new project. Instead, we had to spend some time to configure Spring environment. Spring Boot [http://projects.spring.io/spring-boot] is a solution for this problem, applicable in case of start up, agile approaches or even pet projects.
Configuration over dependencies
Rail uses its power command line tools to start new application, generate new element of the project and various other actions. But Spring Boot is not an automatic code generation tool. It is rather a plug for Java Development build system. It supports both Maven and Gradle. Main feature of of Spring Boot is
API turns a service into a platform
Nowadays, largest commercial services, such as Twitter, LinkedIn, Facebook, provides API for their models and services. They opened their platforms to be extended by huge community of software developers around the world. If one user of a service costs one unit, then single developer contributing into the architecture has value ten times more. This is true for full range of Application Development approaches from simple customization scripts to huge business based on complicated systems. API and its ability to extend and create attracts and even inspire the most creative specialists. This is a two-way street. On the one hand, developers and entrepreneurs have ability to grow up their own ideas into a successful business using existing cool service and its community of users, on the other hand, a service may acquire additional features without extra efforts. Users or hired API developers would design and implement specific features for their own needs. API looks like one more communication channel between customers, service and community as a whole. It is a way to show what they really need. API is a next-level step in the project evolution. It is a point where system may become a platform rather than just a service.
A huge amount of time enterprises and startups around the world have been using various NoSQL platforms for their Database Development needs. The open source NoSQL database MongoDB [http://www.mongodb.org] is going to major release version 3.0 in March. The latest release candidate is already available [http://www.mongodb.org/downloads]. The MongoDB team is trying to touch even higher level of new DBMS standard for any project in any industry, to be called “default database”.
Improvements and innovations
There have done a lot of work at line both the academical research and practical usage. First of all, sufficient improvements in the storage layer bring comprehensive boost performance and scalability. There is the WiredTiger storage engine.
The Number of web sites and services in our daily duties grows from year to year. Each service requires standard user authentication. Generally, Application Security started with login/password pair, for all of us. It’s not easy to remember even dozen strong passwords, particularly if some service is used once per month. Keep in mind, we have to use different passwords. Usage of the same password for many web sites is the most worst thing a user can do at line of Application Security.
OpenID vs. Login/password schema
Modern web sites nowadays uses third-party authentication based on OpenID technology
The brand new Java 8 is finally on the market! That’s what a lot of java web programmers waited for. For its’ release Oracle offered so called LDK8 also known as Java Development Kit. The java developers from Iflexion feel the descent shift new Java represents with its completely new approach.
Java 8 – what’s it all about?
YoavLandman, the primary Java developer, is really happy and proud of company’s new creation. “Now you can code in totally new way. Be ready for greater options!”
Due to the new methods used to create the perspective functional paradigm in order to replace an old imperative paradigm new Java 8 will offer comfortable solutions for developers. All bugs appear to be not only easily to track, but also handy to fix. Any problem can now be decomposed in any functional value. A lot of tools can now be used for the purpose to manage binaries.