Becoming A Developer (Part 2)
The world of Mobile Development
In the last session we took a general layman’s overview of what it means to become a software developer in most sense of the word, this time we are focusing on mobile development and its kinks.
If you are interested in reviewing the last post, here it is….
So lets get to work.
More often than not, we’ve heard the term mobile developer, and I’m pretty sure we all know what a mobile developer is, In essence a mobile developer is a developer that develops apps for the mobile platforms ( android, IOS, Blackberry-if that’s still an OS, Windows Mobile etc.). In more professional terms.
Mobile Developers are responsible for creating software(apps) that work on mobile devices
mobile developers work on making mobile devices more important to our daily operations and use cases. So it could be said that mobile developers are core to the world of software development we have to day.
The Makeup of the Mobile Developer
The mobile developer today has a lot to work with and he’s part of an ever expanding circle in terms of tools and skills. So what does make up a mobile developer.
With the broad range of mobile devices to take into consideration. the position of the mobile developer can be consider quite unbalanced, but the technologies have evolved to take these into consideration.
With this in mind there are different types of mobile developers and they can be classified in different ways but we are gonna look at this based on structure and flow.
Mobile Development can basically be broken down into three forms.
- Native apps
- HTML5 apps.
- Hybrid apps.
Mobile apps developed based on a single OS, lets say Android or just IOS, are considered native.
A native application (native app) is an application program that has been developed for use on a particular platform or device.
Traditionally a developer that developers natively on a platform can be said to be a developer of that platform. As that, there are developers that can be said to be android developers, IOS developers and many more.
As is found in today’s developer scene, developers can develop now for more than one platform, apps built in these nature are called hybrid apps and are quite popular. basically we can define a hybrid apps as.
The Tools of the Mobile Development.
The world of mobile development is riddled with tools and with the various types of developers we have its clear the tools peculiar to developers would very much differ.
So here are the various categories into which these tools would be seperated into…
- Native development tools
- Hybrid development tools
nb: please bear in mind these are not professional terms, just my way of bringing order to chaos.
Native Development Tools
Theses are tools that are used primarily in the creation of native projects and are well suited to the particular platform which their apps are created for.
based on the major mobile os environments there are. we’ll consider the following.
The stage on android application development is littered with lots of sdks (just kidding), but its a beautiful section to focus on, native application development in android is done with the Java Programming Language and More recently the new kid on the Block, Kotlin.
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Javakotlinlang.org
From the android development resource provided by google, A lot can be learnt and practiced to get conversant with android.
If you're new to Android app development, this where you should begin. This series of lessons shows you how to create a…developer.android.com
the major tools of the trade include.
- Android Studio — the android studio is an IDE geared directly towards the creation of android applications, it is built off the IntelliJ Ide and has many cool features and additions since the last GoogleIO event.
- Android SDK — the android sdk are set of environmental additions needed to build a complete android application.
Download the official Android IDE and developer tools to build apps for Android phones, tablets, wearables, TVs, and…developer.android.com
To facilitate the process of learning android, The CodeMentor IO repo provides some ideas about how to proceed.
Contribute to Android-Learning-Resources development by creating an account on GitHub.github.com
timespan: 5-6 months… (intermediate level) i.e with diligent practice and process. with some prior knowledge on java, 3–4 months
Developing for the IOS platform has never been as much fun as it is now. with the Swift programming language.
Swift is a powerful and intuitive programming language for iOS, macOS, tvOS, and watchOS. Writing Swift code is…developer.apple.com mos
The idea of learning swift might seem overwhelming to most new developers but its as easy as any other language. Developing for IOS requires you develop on a Mac and it makes use of the XCode 5 editor.
Xcode includes everything you need to create amazing apps for iPhone, iPad, Mac, Apple Watch, and Apple TV.developer.apple.com
This is combined with the IOS sdk for the development process…this can be found on the Apple developer network.
Learning to develop IOS applications could be quite tasking without proper directions but here are some resource to get you through. These where curated by sanketfirodiya(github)
iOS-learning-resources - Collection of high quality iOS tutorial sitesgithub.comTim
Timespan — 3–6 months with dedicated practice
Okay, this is a genre one would sparingly come across in discuss but its there nonetheless and its growing real fast, to develop for the windows devices one would have to run with the C# programming language as this is the key language of choice adopted on the windows platform.
the MSDN(Microsoft Developer’s Network would be of much needed help in this area)
The links below are intended to help you learn to develop applications for the Windows Mobile platform. However, before…msdn.microsoft.com
native development on the window’s platform is done using visual studio
Mission control for your mobile apps Get the services and infrastructure you need to deliver five-star mobile apps…www.visualstudio.com
its the defacto IDE (integrated development environment) for window’s related development, both mobile and system applications.
But in more recent times there’s been a new star in the block of windows app development, Xamarin is an Ide cross platform, therefore you can also develop for android and IOS on it, but this has Windows at heart.
These are facilitated with the Microsoft Azure services ( Backend as a Service ) to create apps that would run via the internet( in layman terms)
Build engaging cross-platform and native apps for iOS, Android, Windows or Mac with Azure's Mobile App Service.azure.microsoft.com
Most of the resource associated with Mobile development on Windows can be found on the Windows Dev Center
Universal Windows app development. Be more than mobile, reach every Windows screen.developer.microsoft.com
the Idea is to keep things lit and clean.
Timespan — 5–7 months, with diligent practice.
Extended Native development
Getting started with react native requires you to have some knowledge working with react(dont worry react is easy, you’ll be seeing lots about it in part3). React Native simply uses the react structure with some extended apis to create apps for multiple platforms. You can check out the React Native project.
A framework for building native apps using Reactfacebook.github.io
The Ionic framework just like react native is a framework for building native mobile apps with the frontend web technologies. These apps are then compiled into their respective client packages (android apk, etc). To learn more about ionic
Know how to build websites? Then you already know how to build mobile apps. Ionic Framework offers the best web and…ionicframework.com
Fully free, open source mobile framework. Build truly native iOS and Android mobile apps. Get 100% native API access…www.nativescript.org
There are several more tools of these nature and they encourage web developers to get into mobile development.
Hybrid and HTML5 Development Tools
With reference to building hybrid applications and softwares, Its not much different from developing apps using the Extended Native tools, and in fact some if not all of them fall into this category.
Some of the tools in this sphere include the following.
Adobe® AIR® runtime enables developers to package the same code into native apps for Windows and Mac OS desktops…www.adobe.com
jQuery Mobile framework takes the "write less, do more" mantra to the next level: Instead of writing unique…jquerymobile.com
Sencha touch 2
Ever since we first unveiled the original Sencha Touch, we've been raising expectations of what HTML5 apps can do…www.sencha.com
As a new developer especially as a mobile dev( or any other dev there is), It gets a bit hard to keep track of the process and several challenges arise. but the process of debugging is as much fruitful as the process of learning. So in the bid to troubleshoot, here are some resources to help you get there.
This is essentially a community of developers and programmers helping out each other in solving problems related to code and programmers in general and under the mobile development tag you could find some really good resources.
Stack Overflow is the largest online community for programmers to learn, share their knowledge, and advance their…stackoverflow.com
Most projects and tools are opensource and github is the defacto center of all opensource projects, and as with any project, there may be obstacles and bugs, so issues are being raised in the issue report section on github.
From the issues page one can raise an issue on the project and get it discuss and ultimately fixed.
On reddit there are several sub reddits for learning development of software. In general some are more focused than others it all depends on the technology you are focusing on.
In the next post on this series we would be focusing on the web developers and what goes into becoming a web developer.
Hope this was helpful, if it was kindly give a ❤️..Thanks..