I’ve decided that I am going to learn how to build an iPhone app, and I’m going to use my blog to document the process.
With selling all of my products – Soliloquy, OptinMonster and Envira Gallery – I take a lot of payments via Stripe. I like to be able to check in every once in a while to see how many payments have been made, so I have paid for and used the iPhone app Paid for Stripe. In general it works well, but if you know me at all, I’m always looking to make things better.
I have a few issues with the app as it stands. They lie on the side of usability and experience, and rather than pander with feature requests for the developer of the app, I’d rather take the opportunity to learn a new skill and build it myself. So that’s what I intend to do.
This past Sunday, I fired up Xcode for the first time in forever (maybe ever). I paid the $99 to get my Apple developer membership so I could officially sell the app if I wanted (which I likely will). I have never written a single line of Objective-C, so to say I was completely and utterly lost was an understatement. I was more like helpless.
It is humbling to stare at something that brilliant minds have written and not be able to understand a lick of it. While I can process some things boolean
, return
and what have you, the majority of the syntax is completely foreign. The language constructs are much more abstract than PHP. I understand the concepts of OOP and MVC just fine – from implementing interfaces to inheriting views – but to apply it to a completely new language is very tough.
However, armed with my good friends Google and Stack Exchange, I embarked on my journey. I created my first Xcode project, clicked on enough buttons to figure out how to do things and off I went. I started with a blank single page app, and from there I began the building process.
I had already mapped out in my head what I wanted the app to look like. I’ve drawn out some of it in Photoshop, and by the end of the day, I was able to piece together this fine work of art you see below.
I am obviously no where near complete, but I am satisfied that I was able to do that much in one Sunday afternoon.
I think the fun part begins now because I have to learn how to manage and handle different views, connect to external data sources (Stripe) to retrieve and process data, and style it all along the way. Ultimately, I want to create an easy workflow for myself so that I can enjoy viewing all the awesome payments I receive via Stripe.
I have signed up for a Pro membership on Treehouse specifically to go further into iOS development. I have gone through the first few lessons on understanding C, and that has been immensely helpful so far. Having a good foundation in C is definitely going to help me understand how objects work in Objective-C.
I’m excited for the future, and I’ve only just begun to get into something that seems insanely fun. I don’t ever intend for this to make any real money, but rather this serves to continue expanding my knowledge and skills and hopefully allow me to glean more knowledge for building better products on the WordPress side of things. Who knows how long it will take, but I’m excited to start that journey!