Image for post
Image for post

In this blog post from the custom software development series, we are going to answer the FAQ about Unit Testing, as well as its importance for the software development process. Stay tuned!

What is Unit Testing?

Unit tests are automated tests that are run to validate a unit of work ensuring that it behaves as intended. This helps to detect and offer assurance against bugs in the future.
Unit of work — a piece of code that is logically isolated in a system. Usually, it is a method or property.

In the following code snippet, you can see the simplest test case with validation of the user’s full…


Image for post
Image for post

This article describes the concept of a sum type and the importance and power that it gives to your codebase. It’s a thing from the type theory that is unrelated to a specific programming language. So, this article will be useful despite what language you use and what kind of developer you are.

It also acts as an intro to functional programming, and in the latest section we’ll show you specific examples of decoding unknown inputs in TypeScript with the help of io-ts.

What is a sum type?

In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type, or coproduct, is a data structure used to hold a value that could take on several different, but fixed, types. …


Image for post
Image for post

Table of Contents:

  • The importance of choosing the right technology stack
  • There is no silver bullet in web development
  • Recommendations depending on the type of website
  • Summary

The importance of choosing the right technology stack

So, you’re working for a tech company that is developing a new promising project. You’ve just clarified the business requirements and now the crucial moment is fast approaching: the choice of technology stack your awesome team will use. A project’s internal stakeholder groups (owners, managers, developers) usually have different ideas about the importance of choosing the right stack. …


Image for post
Image for post

Flutter is a cross-platform software development framework that was presented by Google in 2015 and received its first release in May of 2017. Flutter nowadays has steadily grown and provided possibilities not only for iOS and Android mobile development but also for web and desktop applications as well. Let’s dive into the topic and try to understand why it is so popular nowadays.

Table of Contents:

  1. Dart: the language used by Flutter
  2. Flutter Framework
  3. Flutter Architecture
  4. Conclusion

Dart: the language used by Flutter

Before we start deconstructing the Flutter framework, let’s dig into the language that was used to build it — the Dart. Dart is an object-oriented programming language that was first unveiled by Google in 2011. Since then Dart steadily evolved by releasing different features. Among others, it is worth mentioning the “dart2native” feature that allows compiling it for Windows, Linux, and macOS platforms as a desktop application. As of the writing this article, the desktop solution is not production-ready but the outlook seems promising. Aside from this, the Dart program can be composed into a self-contained executable file or compiled to JavaScript. The last one is especially notable because with compiling to JavaScript you can run Dart programs in every modern web-browser. …


Image for post
Image for post

Are your development processes fast enough?

The market and customer demand are changing exponentially. Nowadays a competitive environment dictates the pace that your products and improvements should be developed in. The obvious way to propel yourself to the front of the pack is by optimizing the development processes inside your team which can be easily accomplished by implementing a CI/CD pipeline.

What is CI/CD?

CI/CD is an abbreviation of terms of Continuous Integration (CI) and Continuous Delivery or Deployment (CD). СI/CD stands for a specific set of development practices that allows development teams to deliver changes in code more frequently and accurately.

The reason for the widespread adoption of CI/CD in the development processes is that it simplifies the processes of preparing and delivering the application by automatizing some tasks. …


Image for post
Image for post

At the moment, Apple App Store and Google Play are the two leading platforms for discovering and downloading apps and games. And while Google Play is confidently leading in terms of available apps, Apple App Store generates almost two times bigger revenues. No wonder that over a decade of application stores existence, a steadily growing number of developers and publishers have been trying to conquer the market. So now, having your app or game placed in the application store turns to a more tough task than ever before. There are different requirements for publishing in any app store. …

About

Axon

Software Engineering Company

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store