While Android provides floating action buttons, navigation views, and other useful items in its design support library, there's no out-of-the-box solution for the oft-used toggle button. Commonly applied to stylize text or filter search results and other content, the toggle button is a staple in most apps. It can also be time-consuming to create.
Blog Posts Related to 'Development'
We build apps of all shapes and sizes here at Savvy Apps, but a common element is that they communicate with servers. Very few apps today operate without some sort of Internet connectivity, meaning that they interact with a backend, web services, or APIs. These APIs could be provided by Google, Amazon, Facebook, or comparable third-parties. They also could be APIs that are developed internally.
Machine learning has quickly become an important bedrock for a variety of applications. Its mobile implementation, however, has been out of reach for many in the mobile app development community. The training and implementation processes for machine learning libraries require dedicated processing power, which is outside the purview of mobile devices. That processing power requirement and existing frameworks usually mean that a server-side component is necessary for even the smallest, machine learning-backed apps. Finally, training a machine learning model requires a good deal of knowledge that lies outside the normal developer spectrum.
Savvy Apps started using Kotlin for its new Android projects late in 2016, right around when Kotlin 1.0.4 was released. Initially, we saw an opportunity to try out Kotlin on a smaller scale project. Once we tried it out and saw the ease of use, being able to easily separate functionality from business logic using extensions, and generally, the hours of development time it saved for us, we decided it would be the language of choice moving forward. Since then, we've used Kotlin to create multiple Android apps and have also developed a number of internal Kotlin libraries.
How we think about design at Savvy Apps encouraged us to develop a new animation technique that mixes old-school view animations with Auto Layout. Our technique bypasses the restrictions placed on developers when they try to animate using Auto Layout. Most Auto Layout animation guides say basically the same thing: update constraints and animate. For more advanced animations though, just updating the constraints would be nearly impossible.
By relying only on constraints, you're restricting yourself on the types of animations you can achieve in your app. This article dives into how to get around the limitations of constraints. By using Auto Layout in new ways, we will show how to create more advanced animations.
Last year we started working on a framework that was initially inspired by an animation in a podcasting app we crafted for The Cato Institute called CatoAudio. Our work with CatoAudio helped us realize that we wanted an animation framework that would allow us to create a simple, smooth animation that could easily be paused, resumed, and reversed. So far we've used this framework we call SAAnimationView on a number of projects. We decided to release it outside of Savvy Apps so other developers can take advantage of the way it makes it easy to create and iterate on animations.
Animations in iOS offer functional context to users and provide developers with a simple way to bring designs to life. While Apple provides two common methods for animations, `UIView.animateWithDuration:animations:` and CAAnimations, they either sacrifice flexibility or create a lot of boilerplate code. That’s why at Savvy Apps we advocate learning the components and concepts of animations. This approach allows developers the freedom to find new ways to do animations. In this post, we define the components of an animation, as well as provide tips for creating and experimenting with interactive animations.
Deciding whether to use Objective-C or Swift for a project isn't always a clear-cut decision; there are a number of factors to take into account every time you start a new project. We decided to tackle this topic because it's one of the most common questions we hear from developers. Selecting the most appropriate language depends on project and team context, as well as preference and often, allegiance to a particular programming language.
Development doesn't stop once a v1.0 app is live. Your newly launched app will need to have regular app updates to thrive. Whether it’s a new feature or a bug fix, it will be important to continue to develop and test these updates prior to shipping them to app stores. This can be challenging, however, as you need to develop these updates and distribute them to testers without interrupting the experience of users who are interacting with the live app.
If all you've ever done in the past is iOS development, looking to build an app on Android might make you feel like you're entering the Wild West. Things seem more fragmented, more dangerous, more complex, more green. In 2016 though, Android isn't necessarily more difficult than iOS. The majority of your domain knowledge and expertise of building mobile apps on one platform can be applied to the other with ease. You may even find yourself enjoying some of Android's development components more than iOS. Here's a Savvy Apps guide to the top considerations for developers making the move from iOS to Android, including a list of how the main iOS components are laid out in Android.