Anyone here created a mobile app (iOs or android)

Sentinel

Bionic Poster
I want to write some simple mobile apps for some data I maintain.

Currently, I am using Google Sheets, but it is quite a pain to pick a cell, and then keep jumping between character and numeric keyboard.

Prior to this, I used to write shell scripts and keep the data in flat files or sqlite data stores on my laptop, but now I am using the mobile more.

I have purchased a couple of apps but am frustrated that even their pro versions do not export and import data in flat files. I would have liked to import my old data, and export the whole lot regularly just in case the app stops working, or i stop using it. The data exported or synced by these apps is in some encrypted format on dropbox, so I am really apprehensive about using them regularly.

I have done a brief look on google and am aware that i need to use Android studio for an android app, and Swift etc for iOs. I thought I'd just have a chat with anyone who has been through this before.

Is the entry barrier high ? (I do have programming background, but none on mobiles).

Is uploading an app onto one's mobile easy, or does one have to go through Play Store/App Store and pay them etc.

Are the SDK's / dev environments expensive ? (I have only a Mac book Pro).

Lastly, is writing a mobile app a fun/rewarding experience, or frustrating ?
Does each change in OS version require changes to the app ?

I only want to get into this if it is fun.

Thanks.
 

mikeler

Moderator
Is the entry barrier high ? (I do have programming background, but none on mobiles).
Not if you are committed.

Is uploading an app onto one's mobile easy, or does one have to go through Play Store/App Store and pay them etc.
I only have experience with Apple so yes you will have to go thru the App Store.

Are the SDK's / dev environments expensive ? (I have only a Mac book Pro).
Dev is free. $99 to be able to upload apps when I was looking at this a few years ago for Apple.

Lastly, is writing a mobile app a fun/rewarding experience, or frustrating ?
It's cool tinkering with it but I'm not sure I'd enjoy doing anything beyond the basics.

Does each change in OS version require changes to the app ?
With screen sizes and OS always changing, I'd think so.

I only want to get into this if it is fun.
I thought it would be fun but as I got into learning it, I decided not to pursue it any further.
 

Dags

Hall of Fame
I've been noodling about with iOS for a few months now, so will expand on (or contradict) @mikeler 's response.

Is the entry barrier high ? (I do have programming background, but none on mobiles).
Mobile is just another platform. If your UI is tables, buttons, labels etc. you can create all that with a drag and drop interface. Or through code, if you're particularly that way inclined or the app just lends itself to that approach - an example would be writing a game, which doesn't use Apple objects. Swift is a pretty nice language to work with.

Is uploading an app onto one's mobile easy, or does one have to go through Play Store/App Store and pay them etc.
If you only want to get it on your own device, you simply plug it in - the App Store isn't necessary. It's also possible to deploy to a number of devices for testing (I think 50 is the number) by sending a file and letting them install it via iTunes. However, see below for some caveats on both of these approaches.

Are the SDK's / dev environments expensive ? (I have only a Mac book Pro).
The development environment to use is Xcode - free from the Mac App store, provided you're running a reasonably recent version of OSX / MacOS. I've been on the latest version since using this, so can't comment on what happens if you fall behind. You can develop as much as you like at no cost, and there's a simulator so you can see what it would look like on all the different iOS devices from on your Mac.

You can also run the app on your device without paying any money. However, there are a couple of limitations you'll come across. First is that you're restricted to the number of apps you can put on a device. In the documentation it says 10, but mine ran into the problem after 5. To continue, I was able to just delete the apps from the phone, re-authenticate, and go again. The biggest kicker for you is that this would also delete any data. I'm also pretty sure you can't do the iTunes installation without being part of the Apple developer program.

Edit: I forgot to mention: if you haven't paid, then the app will only run on your device for a very limited time. You can refresh it by plugging into your Mac and compiling it again, but data issues will probably exist - I think it's effectively a clean installation, but haven't included persistent data in my apps yet so can't confirm.

Mikeler is correct - the developer program is still $99 per year. This will allow you to submit apps to the App Store, and give you access to development versions of Xcode and beta iOS.


Lastly, is writing a mobile app a fun/rewarding experience, or frustrating ?
It's a bit of a mixture. Some of the stuff you can do is very cool. Some of Xcode is buggy. When new to any coding language, there are often half a dozen ways to achieve your goal, and no indication of which is best practice. There is a lot of information online - one of my biggest annoyances is that Apple haven't kept on top of some of the official documentation. At the moment I'm writing a game with SpriteKit, and the documentation for that is still giving examples in Objective C.

Does each change in OS version require changes to the app ?
Probably, but the extend will vary. With iOS 10, they released Swift 3. It broke everything. There were massive changes to the underlying language... if you'd just finished writing an app in 2.2, you would have cried. That's supposed to be the final 'major' revision, but it's definitely an evolving language, so you have to expect to change things to keep up with it. Xcode does its best to help you with the changes.

In theory, you design your app to work with different screen sizes / resolutions fairly effortlessly. It depends on the complexity to whether this works... it's one of the areas of Xcode that's a little temperamental. But it does mean you can design different layouts for portrait / landscape, and differ them not only between iPhone / iPad, but even the different models of each device should you choose.


I only want to get into this if it is fun.
It's not massively different from any other form of development. If you find developing fun, it's quite fun. It's not like some revolution compared to other platforms though.
 
Last edited:
Top