All Ruby on Rails Node JS Android iOS React Native Frontend
A few weeks ago, we were considering whether the current approach works for us and how we can improve the workflow. The previous pipeline has not worked well and we decided to create a new one from scratch. I will not be writing about the whole workflow, it is not a part of topic but I'm going to tell you about one specific step in our pipeline. To solve our problem we will use a single event which comes from Github when pull request has been approved. The event triggers workflow on Bitrise. Unfortunately, Bitrise doesn't allow you to recognize the distinctions between pull request update or pull request approval.
Read more
Every program receives some kind of input data. It can by anything - from variables, command line options, HTML web forms, configuration files to binary data. All of this needs to be checked to prevent unexpected errors from happening. Although ActiveModel::Validations is great for web apps and simple models, it isn't very flexible for other types of validations and complex dependencies.
Read more
When I think about performance and how the websites are loaded the first thing that comes to my mind is that when the content is loaded the last elements that appear on the page are images.
Read more
Instant apps are a great way to introduce users to native apps experience without the need of installation. App fragments called features can be downloaded quickly thanks to their size limitation (4MB). This brings great user experience to people who can't afford to install a whole application or don't want to download the whole app for one functionality. Simply assign app links to your feature modules. Now whenever a user clicks a link present in your Instant App schemas, and your app is verified, instead of opening the browser, the Play Store will download your feature, cache it and launch a portion of your native app.
Read more
It should not come as a surprise that CSS in modern web development is far from perfect. Nowadays, projects are usually quite complex and, given the global nature of styles, it’s extremely easy to end up with conflicting styles that override each other or that implicitly cascade down to elements we didn’t consider before.
Read more
We, developers, find ourselves in fascinating world of bursting technology. It changes rapidly, not waiting for anyone. We have to adjust. I will show you today how to use CircleCI 2.0 as a workhorse for your end to end tests.
Read more

Introduction to HomeKit

Smart home devices aren’t something new for us. These days we have many things that you can control using your computer or phone. Not so long ago such things only appeared in movies but nowadays it’s a generally available technology. We can install a window opener in your house which is connected to the Internet or smart switches and door locks which we can open with your phone.
Read more

Practical Use of Vue.js Scoped Slots

There are situations when you want the template inside the slot to be able to access data from the child component that is responsible for rendering the slot content. This is particularly useful when you need freedom in creating custom templates that use the child component's data properties. That is a typical use case for scoped slots.
Read more

CircleCI 2.0 - Concepts' Explanation By Example

CircleCI is a widely used and extremely flexible continuous integration tool. The new version, 2.0, was presented in July 2017. A support drop for the previous release has also been scheduled: 31 August 2018 is going to be the date. Until then, each project should be migrated to the new version. This won't be an easy task at all. This post is designed to help you out with this process by making it smoother and easier to tackle.
Read more

Avoid Pyramids of Doom With PromiseKit

In computer programming, the pyramid of doom is a common problem that arises when a program uses many levels of nested indentation to control access to a function. It is commonly seen when checking for null pointers or handling callbacks. This quote from Wikipedia simply explains what pyramid of doom is. It's really easy in modern programming languages to encounter the issue, especially when executing asynchronous code.
Read more
Newer
Need a successful project?
Estimate project or contact us