30Jan2015

Application Development: Backbone framework: modern professional front-end approach

Nowadays, web is not just loading pages and displaying them correctly. Modern browsers allow web application developers to create complicated one-page rich solutions on the client side: rich text processors, graphics editors, spreadsheets, etc. Backbone [http://backbonejs.org] is one of the best straight forward solution to organize even very complicated project in robust professional way. Practically, it’s very small set of JavaScript classes, that you can review in an hour.

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.

Marionette.js

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.

Read more
14Jan2015

SaaS: Parse: back-end as a service

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.

Easy start

You can start using Parse right after quick registration, actually, as any modern Software as a Service (SaaS) platform. There are several environments: data, push notification (suitable for mobile applications), analytics, social services integration, code in the cloud and hosting. On the other hand, Parse can be applied to various platforms: mobile, desktop, web (HTML, JavaScript), Unity, PHP. Just download test project as start point or follow instructions to integrate Parse into existing solution. Generally, Parse provides a set of collections, so, we can put objects into those collections in the way similar to document-oriented storages, like MongoDB, then handle those records by CRUD operations in asynchronous way.

Read more
15Dec2014

Meteor framework: a revolutionary Web Application Development

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.

The same JavaScript for client and server

Despite the novelty, there is no new programming language. Meteor is based on already known node.js platform and JavaScript programming language. If you prefer CoffeeScript or TypeScript, that’s ok. Anyway, it’s JavaScript as a result. JavaScript is used both on the front-end and on the server side. And even more, the same JavaScript code may be used on server and client.

Read more
13Nov2014

Mobile Solutions: Unity3D platform

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.

Read more
18Oct2014

Java Development: Spring Boot for fast and easy start-up

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

Read more
01Oct2014

Application Development: API as a modern service approach

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.

Read more
18Sep2014

Usability and UI design: Material Design

Apple’s look-and-feel style was dominating in mobile and even web design for a long time. Inspired by Steve Jobs the iOS UI/UX was treated as almost absolute standard. Even some of Android developers and designers were trying to copy iOS practices in their projects. Keep in mind, you should have very important reason to fight a framework. Recently, Google, as main supporter of Android platform, announced Material Design [http://www.google.com/design/spec/material-design/introduction.html] their point of view on both questions Usability and UI design. Besides, Material Design is not just pure theoretical specification. There is new Android 5.0 “Lollipop” version available. It’s based on Material Design. So, you are able to try it live, as well.

Flat, non flat and material

About 10 years ago the web design was pretty huge visually. It had a lot of almost realistic graphics with 3D effects, shadows, gradients, etc. Even small buttons and icons were 3D-like. Later, the web became more productive and useful. For now, it’s not just pure visual set of pages to represent some information. It’s rather applications with thick UI.

Read more
31Aug2014

Android Development: New Android 5.0 “Lollipop”

A new Android 5.0 version “Lollipop” [http://developer.android.com/about/versions/lollipop.html] was release in November 2014. Android powers your watch, your TV, and even your car. There is a lot cool features a new Android provides for developers. Let’s go through most amazing of them.

UI/UX

Android 5.0 introduces the Material Design [http://www.google.com/design/spec/material-design/introduction.html] concept as UI/UX standard in Android Development. You can add real-time shadows and 3D-like look-and-feel by new android:elevation property. It’s also possible to animate elevation changes by ViewPropertyAnimator.z() and ViewPropertyAnimator.translationZ() methods.

Read more
03Aug2014

Database Development: MongoDB 3.0 is coming

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.

Read more
11Jul2014

Laravel framework: Give PHP another chance

Category: PHP Development

There is no secret that PHP Development is not so cool technology, as it was 15 or even 10 years ago. On the one hand, Java and .NET dominate in enterprise area, and on the other hand there are many modern MVC frameworks (Ruby on Rails, Django/Python, node.js, etc.) are used widely by startups at line of simplicity and lightness. PHP had lack of their cool features as both the programming language and the web development platform. You even may think that PHP was stuck in 2000. Let’s look at Laravel [http://laravel.com] — modern MVC framework for rapid PHP Development.

Laravel is the best PHP MVC framework

Laravel is not the first MVC framework available for PHP Development (Zend, Yii, Symphony, etc.), but looks like it was created to be the best one.

Read more