1
How to Make Performance Testing More Efficient
2
Flexible Data Model Design
3
How to grow your project without failing at architecture, scalability and system integration
4
Fast creation of performance tests based on SoapUI project
5
How to Improve Performance of AWS Java Cloud App? Try ElastiCache
6
How You Can Use Cassandra in the Big Data World
7
Harnessing the chaos in software project management
8
Working in a Virtual Team
9
Database: How To Make a Bad Thing Work Well
10
Smart Version Control for Project Managers and Decision Makers

New IT Trends

IT and programming are changing every day. Not all the changes lead to the revolution in the industry but I would like to mention some really significant things, which came to IT projects.

UI/UX

Today many applications are not focused on business value, they are focused on new user experience. In modern systems we often can’t even separate user experience and business value. Business is focused on users and proposes new ways of doing work, new ways of having fun and even new ways of thinking.

That is why user experience (UX) became more important than performance, application size and task solution. Nowadays UX is not a well defined concept, but UX-design comes before system design.

image03

Social networking

Computers are affecting the way we communicate. Today every application should have integration with Facebook, Twitter and Instagram. You can’t just measure the average speed of your car. You need to make a snapshot of the speedometer, share it with your friends and allow them to comment on it. Video players should not play video only. They have to have rating systems and opportunity to share comments on Facebook.

Each system should allow us to login with Facebook credentials. Some of them are so closely integrated with one of the networks that can’t be used without it. This point is connected with the previous one. Social networks become an important part of users’ lives and experience.

 

image02

Single Page Applications (SPA) and Node.JS

The time of static HTML web pages passed. But now web pages are not just interactive Javascript/HTML pages. Web sites are transforming into rich JS applications. Nowadays Javascript is used not just for form validation and animation.

SPA is similar to native desktop application. UI logic and business logic are shifted from the server to the client. Server side is becoming simple and fast. Due to the simplicity of the server side and availability of high-level Javascript developers, new development platform appeared — Node.js. Node.js enables us to create Web servers and distributed services using JavaScript.

According to Github statistic Javascript is the top language. The complexity of the web application is increasing now and IT will require more and more highly skilled Senior Javascript developers.

 

image04
Popularity trends of Programming languages in GitHub (source).

Mobile Platforms

Mobile platforms are growing very fast today. Mobile devices are becoming more and more powerful. Screen size, resolution and processor speed allow us to put the main business logic to the client side and process video and audio in real time.
Intensive development of mobile platform requires the specialists to develop new skills. New tools and libraries appear every week and the only way to be in the forefront is self-education. By reason of the lack of human resources, many mobile development companies start their trainings and internship programs.

The popularity of cross-platform instruments is growing. Such tools as PhoneGap and Xamarine allow writing one application for all mobile platforms. It enables us to reduce the cost of development and eliminate the need for separate development teams for each platform.

image01

Functional Programming

Functional languages have a long history. They were popular in 60s, but they were almost forgotten in the IT industry. But the new Millennium has brought concepts of big data, parallelism and cloud computing which breathed new life into functional computing. Functional programming becomes really useful when there is a need to process a huge amount of uniform data with complex functions.
Mainstream OOP languages include elements of functional programming in their syntax. Lambda expressions, closures and map/reduce functions are now parts of C#, Javascript and Java. But full power of Functional paradigm is available in specific languages only. That’s why developers who know Haskell, Scala and F# are highly needed.

The initial cost to implement the application in functional way is still higher than in OOP (for lack of tools and developers). But the total cost of ownership and scalability can be much higher than usual. Functional programming still has a limited value but FP elements (such as immutable objects and pure functions) can significantly improve the application system design.

 

image00

About the author

Anna Melkova