As predicted (and obviously) mobile apps continued to boom in 2017. Companies large and small have come to realise that having a mobile app is no longer optional. An app is, without a doubt, the quickest and easiest way for a company to engage and interact with their users.
For us, the developers behind the scenes, our tools and the services we rely on evolve so frequently it’s impetuous that we must keep up-to-date with the latest technologies, or face becoming obsolete.
Whilst there are many multi-platform frameworks gaining traction, nothing can still quite beat the experience of a true native application. Sidebar: find out about how we tackle developing an application for both Android and iOS.
Back in 2014, Apple introduced us to Swift, a programming language for their xxOS range, which was compatible with Objective-C. In 2017, Google announced that Android now offered full support for JetBrain’s Kotlin, a modern programming language based on Java.
In this post, I’ve rounded up the team to share a few of their favourite tools to help you on your mobile development journey into 2018.
WTF Auto Layout
What Is It and Who Uses It?
The Auto Layout feature on iOS and is incredible, but it’s error logs are tough to understand. Copy/paste your error logs into this web tool and WTF Auto Layout will give you great insights into the failure.
Pros
- It’s a simple web tool
- Breaks down hard to read console errors logs into easy to read statements
Cons
- No cons here, this tool can only help by providing insights into problems
Who Should Learn It?
There is no learning curve for this tool, any developers using Auto Layout will find this useful.
What Are 1000 Apps Doing to Reduce Their Bugs to Zero?
Down to Zero is a practical guide to solving bugs. Our team has been developing mobile apps for over a decade and we'd like to share some tips we've picked up along the way.
Charles
What Is It and Who Uses It?
Charles is a HTTP proxy/monitor/reverse proxy that enables developers to view all traffic between their machine and the internet. This includes http requests, responses and headers. As a developer it’s difficult to see what’s being sent and received between your web browser and the internet, which can make tracking down issues and bugs a pain. Charles makes it easy to see what’s happening enabling you to address issues faster.
Pros
- Traffic analysis – see what’s coming in and going out
- SSL proxying – view https request and responses in plain text
- Can throttle bandwidth to simulate slower internet connections
- Ajax debugging – view XML and JSON requests
- Edit and repeat requests
Cons
- Difficult to configure if you don’t know what you’re doing
- Not much info available elsewhere on the web
Who Should Learn It?
Any developer who is looking to regain control over their website’s or app’s communication with the internet.
Realm Browser
What Is It and Who Uses It?
The Realm Browser is a macOS application that allows you to view and edit .realm data files, allowing developers who use Realm to debug the contents of their apps database.
Pros
- It’s free
- Extremely useful for debugging
- Manage databases via a nice interface
Cons
- Only available on macOS
Who Should Learn It?
This is a great, free tools that should any developers using Realm databases should check out.
Bugfender
What Is It and Who Uses It?
Bugfender is a remote logging tool for mobile apps combined with a web console. It enables you to read logs from remote devices which can hold invaluables clues when debugging.
Pros
- Supports iOS, Android and multi-platform frameworks including Cordova, PhoneGap, Ionic, Xamarin and React.
- Easy to integrate
- Issue tracking and crash reporting
- Logging can be remotely enabled or disabled by individual devices
Cons
- Currently limited to mobiles and wearables. tvOS, web and Windows SDK’s aren’t available yet, but are in the road map.
- Log searches could be improved
Who Should Learn It?
Developers looking for more insights to help fix bugs and technical support champions who can dig into logs to offer improved support on their products
Android Studio 3
What Is It and Who Uses It?
Android Studio is the official IDE for all things Android. It’s ultra fast, has a great code editor, debugging and performance tools, and a build/deploy system.
Pros
- Kotlin support
- New profiling tools for debugging
- Wizards and tools for the latest Android Oreo APIs
- Google Play System Images – The updated emulator system for Android Oreo includes the Google Play Store which allows you to do end-to-end testing of apps with Google Play.
Cons
- There are no cons here, it’s a great, purpose built tool.
Who Should Learn It?
Android developers looking for a solid IDE build specifically for all-things-Android.
Stetho
What Is It and Who Uses It?
Stetho is a debugging platform for Android built by Facebook, which enables the extremely useful Chrome Developer Tools and much more.
Pros
- Great network debugging
- SQL database debugging
- Realm inspector available using a plugin
Cons
- It’s not integrated with Android SDK so it’s a independent library that we need to add so it’s another dependency.
Who Should Learn It?
Any Android developer looking for a great tool to help them debug their code.
JetBrains AppCode
What Is It and Who Uses It?
AppCode is an iOS/macOS IDE from JetBrains, supporting both Swift and Objective-C.
Pros
- An extremely powerful tool for code generation and refactoring
- Automatic code styling
- Integrated version control
- Automatic code analysis and contextual error prevention
Cons
- Can’t open UI (.xib) files
- It’s expensive
- It’s not the industry standard for iOS development
Who Should Learn It?
JetBrains build fantastic IDE’s that many developers swear by. AppCode is no different, it’s a solid editor that any iOS or macOS developer should consider.
Fastlane
What Is It and Who Uses It?
Fastlane is a selection of automation tools for both iOS and Android development.
Pros
- Screenshot automation
- Automatic build deployment
- Beta tester management
Cons
- Documentation could be clearer
- Can break when a new version of XCode tools are released
Who Should Learn It?
All mobile developers! Fastlane provides a great selection of useful tools that help with monotonous tasks.
IntelliJ IDEA Plugin – Git Flow Integration
What Is It and Who Uses It?
This plugin brings the fantastic procedure of Git Flow right into IntelliJ IDEA.
Pros
Quick and handy tool for creating features, releases and hotfixes, without needing to use the command line or other apps like SourceTree.
Cons
The plugin will occasionally fail without explanation – although we’ve found this is usually because the repo hasn’t been initialized for Git Flow yet.
Who Should Learn It?
It’s a great addition for any developer who uses IntelliJ IDEA.
Intellij IDEA Plugin – InnerBuild
What Is It and Who Uses It?
The InnerBuild plugin adds a Builder action to IntellIJ’s Generate menu, helping Java developers to quickly create innerBuild classes.
Pros
- Quickly creates Java builders
Cons
- Neither a pro or a con, but there are other similar more flexible plugins that offer more. However, they’re not as good as the InnerBuild plugin, which in turn isn’t quite flexible or complete enough.
Who Should Learn It?
Java developers using IntelliJ IDEA looking for a quick builder.
Conclusion
From debugging to automation, these are just a few of a plethora of available tools to assist you in mobile development in 2018.
Looking to the future, we think Kotlin will continue to grow as it’s latest development include support for iOS and web applications. The introduction of NFC in iPhones will open up new opportunities that haven’t been possible in the past.
Blockchain technology is growing at an explosive rate. It’s evolution will make payments faster, and may end up being used in everyday shops, bringing a whole new world of opportunities for fintech applications.
Have any other suggestions? Let’s us know.