SimpleNoSQL A simple NoSQL client for Android. Meant as a document store using key/value pairs and some rudimentary querying. Useful for avoiding the hassle of SQL code.https://github.com/Jearil/SimpleNoSQL

EasyAndroidAnimations Easy Android Animations is an animation library that aims to make android animations easier, with 50+ builtin animations, it allows you to introduce many complex animation effects in your application with one or two lines of code.https://github.com/2359media/EasyAndroidAnimations

EffectiveAndroidUI Sample project created to show some of the best Android practices to work in the Android UI Layer. The UI layer of this project has been implemented using MVP or MVVM (without binding engine) to show how this patterns works. This project is used during the talk “EffectiveAndroidUI”.https://github.com/pedrovgs/EffectiveAndroidUI

TextDrawable This light-weight library provides images with letter/text like the Gmail app. It extends the Drawable class thus can be used with existing/custom/network ImageView classes. Also included is a fluent interface for creating drawables and a customizable ColorGenerator.https://github.com/amulyakhare/TextDrawable

SelectableRoundedImageView Android ImageView that supports different radiuses on each corner. It also supports oval(and circle) shape and border. This would be especially useful for using inside CardView which should be rounded only top left and top right corners(Don’t forget to call setPreventCornerOverlap(false) on your cardview).https://github.com/pungrue26/SelectableRoundedImageView

Menu

SlidingMenu SlidingMenu is an Open Source Android library that allows developers to easily create applications with sliding menus like those made popular in the Google+, YouTube, and Facebook apps. Feel free to use it all you want in your Android apps provided that you cite this project and include the license in your app.https://github.com/jfeinstein10/SlidingMenu

ActionsContentView ActionsContentView is an standalone library implements actions/content swiping view (AKA Side Navigation UI Pattern, AKA Facebook side menu). The library doesn’t use any specific code introduced in new Android SDK versions. This allows develop an application with an action/content swiping view for every version of Android from 2.2 and up.https://github.com/StevenRudenko/ActionsContentView

AndroidResideMenu The idea of ResideMenu is from Dribbble 1 and 2. It has come true and run in iOS devices. iOS ResideMenu This project is the RefsideMenu Android version. The visual effect is partly referred to iOS version of ResideMenu. And thanks to the authors for the above idea and contribution.https://github.com/SpecialCyCi/AndroidResideMenu

BottomSheet One way to present a set of actions to a user is with bottom sheets, a sheet of paper that slides up from the bottom edge of the screen. Bottom sheets offer flexibility in the display of clear and simple actions that do not need explanation.https://github.com/soarcn/BottomSheet

StaggeredGridView A modified version of Android’s experimental StaggeredGridView. Includes own OnItemClickListener and OnItemLongClickListener, selector, and fixed position restore.https://github.com/maurycyw/StaggeredGridView

Calendar View

Caldroid Caldroid is a fragment that display calendar with dates in a month. Caldroid can be used as embedded fragment, or as dialog fragment. User can also swipe left/right to navigate to different months.https://github.com/roomorama/Caldroid

calendar-widget The Android calendar widget is home screen widget for your Android device. It displays a list of upcoming calendar events so that you can easily have a glimpse at your upcoming appointments.https://github.com/plusonelabs/calendar-widget

FreeFlow A layout engine for Android that decouples layouts from the View containers that manage scrolling and view recycling. FreeFlow makes it really easy to create custom layouts and beautiful transition animations as data and layouts changehttps://github.com/Comcast/FreeFlow

android-stackblur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.https://github.com/kikoso/android-stackblur

android-sliding-layer-lib This repository host a library that provides an easy way to include an autonomous layer/view that slides from the side of your screen and which is fully gesture ready, the same way as our detail view in Wunderlist 2 does. This pattern can also be seen in Google+’s notification center or in Basecamp’s detail view.https://github.com/6wunderkinder/android-sliding-layer-lib

MarkdownView MarkdownView is an Android webview with the capablity of loading Markdown text or file and display it as HTML, it uses MarkdownJ and extends Android webview.https://github.com/falnatsheh/MarkdownView

GridListViewAdapters This library provides GridAdapters(ListGridAdapter & CursorGridAdapter) which enable you to bind your data in grid card fashion within android.widget.ListView, Also provides many other features related to GridListView.https://github.com/birajpatel/GridListViewAdapters

XMPP

Xabber Open source Jabber (XMPP) client with multi-account support, clean and simple interface. Being both free (as in freedom!) and ad-free, Xabber is designed to be the best Jabber client for Android.https://github.com/redsolution/xabber-android

secure-preferences Android Shared preference wrapper than encrypts the keys and values of Shared Preferences. It’s not bullet proof security but rather a quick win for incrementally making your android app more secure.https://github.com/scottyab/secure-preferences

Android-Iconics Android-Iconics is a library to use (almost) any alternative iconfont in your projects. It allows you to add any Android-Iconics compatible typeface-library-addon to your project and you are able to start using that font.https://github.com/mikepenz/Android-Iconics

android-ActivitySceneTransition Demonstrates how to the use Activity scene transitions when transitions from one Activity to another. Uses a combination of moveImage and changeBounds to nicely transition a grid of images to an Activity with a large image and detail text.https://github.com/googlesamples/android-ActivitySceneTransition

Swift is a programming language for iOS and OS X development created by Apple. Designed to coexist with Objective-C and to be more resilient against erroneous code, Swift was introduced in 2014 at Apple’s developer conference WWDC. It is built with the LLVM compiler included in Xcode 6+.

Basic iOS
Learn how to make applications using the
autogenerator tools of Xcode. These are things
like storyboards and the Xcode generators like
the master-details template. Inevitably this will
be an application that uses a UITableView and
then some sort of detail view with some
buttons. Understand how connecting UI
elements with the IBActions and instance
variables works.
Objective-C
The language of iOS. You can easily write apps
without getting super familiar with Objective-C
but you should learn some of the basic
features of Objective-C. I’d make sure you
understand @property and how method
passing. In the end Objective-C is a pretty
standard Objective Orientated language.
Object-oriented Principles
Pretty much you need to learn and understand
the Delegate and Protocol patterns. You’ll use
them constantly. Everything else is just icing
on the cake
Core Data
Besides reading tutorials/articles on the topic
playing around with the core data Xcode
template is a great way to understand the
basics of Core Data. Core Data contains an
insane amount of classes and interconnected
parts, which makes it very difficult to get
going with. As you’re reading all this, keep
reminding yourself that Core Data is not a
database ORM.
API Integration
Play around with Helios.io because it’s super
awesome and will get you started with
networking and the incredibly complex world
of dealing with that stuff on iOS. Eventually
you’ll move onto integrating other SDKs (like
foursquare, instagram, twitter, etc) but just
start simple and move forward.
Core Location
This will be the first serious use of delegation.
Really the two topics you need to understand
are the MapKit view and the
CLLocationManagerDelegate.
Mobile Design
This is a slightly nebulous topic. I’ve provided
some good resources on my github project,
but the most important thing to learn is to
never. ever. ever. ever. block the main UI
thread. When you click something, the UI
should always respond
Customizing UIKit
Customizing the UI really adds an air of
professionalism to your app. The big UI
elements to learn how to customize are the
navigationbar, uitableviewcells, buttons and
the new collection view cells. These are the
bread and butter of iOS apps and everyone
customizes them.
Hardware
iOS devices have a whole host of hardware to
play with. To get going I would just focus on
the camera/photo library. That’s probably the
only hardware pieces you’ll end up using.
Core Animation
Pretty much the point of Core Animation is for
the cool factor. That’s why I put it last in this
list. I don’t find that animation really adds
much in terms of “features” but I think it’s
pretty cool and can be a lot of fun. The most
important stuff to learn here when/how to use
the transitions from UIView to UIView.

Raspberry Pi 2 is a great starting point for software developers interested in learning to program hardware. To introduce iOS developers to IoT development, I am giving away three (3)Raspberry Pi 2 devices.

To register in the drawing, all you need to do is subscribe to my new weekly publication: IoT Developer’s Journal. Your email will never be shared and unsubscribing is as simple as one-click.