There are many tutorials and articles describing basic module functionality and how you can build it. These articles sometimes leave blanks of the needed information, so this post will do an in-depth tour of the topic applied in the Play framework. What is a module? In Play framework the modules are small functionality packages. These […]
Introduction: What is Reactive Cocoa? What does functional and reactive mean, in terms of programming? Why is it useful, and generally a good practice? Getting started: How do I set up my project to start developing with RAC? Basics: Classes and methods used in RAC. General data flow representation. A small task: A short […]
Introduction to the new Android ConstraintLayout
ConstraintLayout is a new Android layout type presented at the Google IO. It has several new features including a new Layout Editor built in the new Android Studio. (currently on the Canary channel v2.2 Preview 2) The reason for this new layout is to reduce the view hierarchy’s depth and complexity. By using ConstraintLayout, you can optimize and speed up the UI rendering phase of your application. It is compatible with all the currently available Views and ViewGroups and it is part of the Android Support Library. It works down to API level 9.
If you are a budding mobile (iOS or Android) developer, this could be a good place to start with your first release, but if you are a seasoned veteran, maybe this can widen your knowledge or even show you a few new ways worth trying.
If you let a version of your app out of your hand, you will know nothing about it – just bad reviews in the AppStore or on Google Play, but not a single detail you can rely on. This makes crashlogs a must have kit. I recommend you add crashlogs not only to the release versions of your app, but before the first alpha tests.
Your tests will transform into a meaningful report, not just “Something went wrong here and here…”.
Previously, there was one catch-all solution for crash reports, BugSense. But now there are far more, some are even integrated into beta test systems, like Fabric and many others.
We wanted to deploy a Play! framework application to the cloud but we didn’t want to take care of all security updates on a virtual machine. Heroku is very expensive and Amazon has had no suitable solutions for our needs. We decided to go with Windows Azure.
About JSON in general
In today’s world, most of the mobile and web applications we write include some background activity with an API, like handling user info, or fetching data. Over 90% of the time (I didn’t look up the exact number, I’m sure you will forgive me) the servers respond with a JSON object containing the information we desire. If you’re unfamiliar with the structure of a JSON object, it’s definitely worth looking into. There are quite a few greatly designed tutorials on the topic, there’s one on W3Schools, for example.
Once we receive the API response, we generally want to pass this information to our business logic, and eventually to our viewcontrollers.
The most straightforward way would be to deserialize this string (it is essentially nothing more than textual data) into a valid JSON object. These objects are usually a hierarchy of dictionaries and arrays. However, accessing these values from the root object is a pain in the rear. It’s time-consuming, produces messy code, and it’s unsafe. A typo in our code while accessing a key will not produce any errors, since the keys are strings. Without the keen eyes of an experienced developer, who can spot a typo from a mile off, debugging these coding errors takes a lot longer than it should.
The purpose of the article is to demonstrate a method on how to extend the capabilities of the Google Maps API on Android devices. Basically, Google Maps can render only a limited number of markers over the map, let’s say a few thousand, but with larger numbers it will start to lag and will ruin […]
Here is to establishing the perfect collaboration between backend developers and frontend developers!
Welcome to the Wanari Engineering Blog! We will bring you news from the mobile development and the backend development world, plus we will entertain you with our team’s most recent insights into coding and problem solving (and perhaps beer drinking). Meet the team! If and when you have questions, please comment, write the authors or […]