SRL Archive - Discussions & Debates

Iphone vs Andriod development


rj

2014-05-23 08:47:13

I have been wanting to make a Android app lately to better my Java skills (runescape sh!t can only get your so far). I'm not trying to make any money I just want to make an app for the fun of it :)


So I was wondering what is SRL's thought on Andriod vs Iphone development. Which is easier and more convenient?


Pretty much what I read:

- Obviously with the Iphone you need the Mac OS.
- Objective C (what Iphone language uses) is a bi*** to learn/write in ( @Brandon)
- Uploading apps to the Apple store is a pain and get declined for no reason

Not trying to rag on Apple but that's just what I read :s


Also, is there some sort of Android phone emulator built into the IDE that google released?

Ian

2014-05-23 09:03:43

@hamster31; has made some android apps, maybe he could offer advice.

Turpinator

2014-05-23 09:15:34

From: Robert
Also, is there some sort of Android phone emulator built into the IDE that google released?


Yes.

You can always release an app through f-droid (provided its free and open source) which is probably easier than google play…
and you can just install apps not from the store without rooting/jailbreaking/etc. so thats nice.

some ideas for apps:
  • SRL Rep tracker
  • SRL Forum browser with built in script scanner
  • SRL Rep monitor that constantly monitors your rep and tells you when someone reps you, then determines who it is (add this to the rep tracker)
  • SRL Account monitor (so you can see when people rep you, pm you [for all those rsps requests], quote you, or mention you [for your epeen])
  • or other useless things that people seem to use

rj

2014-05-23 09:27:55

From: Turpinator
Yes.

You can always release an app through f-droid (provided its free and open source) which is probably easier than google play…
and you can just install apps not from the store without rooting/jailbreaking/etc. so thats nice.

some ideas for apps:
  • SRL Rep tracker
  • SRL Forum browser with built in script scanner
  • SRL Rep monitor that constantly monitors your rep and tells you when someone reps you, then determines who it is (add this to the rep tracker)
  • SRL Account monitor (so you can see when people rep you, pm you [for all those rsps requests], quote you, or mention you [for your epeen])
  • or other useless things that people seem to use


I'll make a online moderator that scans for people online times

x[Warrior]x3500

2014-05-23 10:42:52

Well, I have written apps for iPhone, Android, and WinPhone.

- obj C sucks. if you don't have to learn the language… don't.
- having to port in between languages for the phones sucks too.

my solution that I have found: http://xamarin.com/
its a c# based platform that automatically can create iPhone, Android, and winPhone apps without porting them to different languages. The more I develop in c# professionally the more I realize that even though its VERY similar to java, I think its better. Xamarin can be expensive if you want to buy a license, but they have a free kit as well.

Frement

2014-05-23 11:37:27

Or you can use PhoneGap.

Brandon

2014-05-23 15:44:52

I dev/work with iOS, Android and Windows Phone 8.. Of all the devices, here is the experience:


iOS: Storyboard is easy! VERY VERY NICE to use. Google for some pictures. Gives you a nice visual look of what your app will be like. You drag and drop components mostly. Sort of like a form builder for apps. Each "controller" is a new screen. You can view how they transition to each other. For example:


You can drag and drop gestures such as swiping, panning (zooming in and out), tapping, etc.. In that sense it is nice! However, code wise, if you don't know the language you're going to have a bad time. Took about 3-days to a week to learn and a couple days to figure out the apple standards and how to get various things to work such as colours, backgrounds, images, etc..


The messaging system is what catches most developers off guard. For example, you can "use" null objects. In java something like that would throw a null pointer exception. In Objective-C, you will rarely get an exception and if you, you need to be able to read some assembly because most of the times it will never ever show you where it occurred. It will simply point to main and give you a 2 line error saying something is wrong and a shit ton of assembly.

One you get into core design and what not, there is quite a bit of C involved. There is garbage collection for iOS though but not for the C portions.


Other than that, storyboard really really sells it! One other con is that to run it on your phone it must be either jailbroken or you buy a developers account for 99$. Just to run it. The simulator is far better than Androids' though. WAY FASTER and more responsive. Applications require a profile to be made. Example is the distribution profile which is annoying as hell to setup. No permissions needed for anything though. Constraints are going to be your worst nightmare.

One example application you can find here: https://github.com/Brandon-T/AstroSign



Android: Simulator is slow but the good thing is that you can test it on your phone without having to pay for a developers account or jailbreak. Writing adapters for a lot of things get annoying but you get used to it. Android uses something called Intents and Activities which are really just different views/screens. Android development is half XML and half Java. You want to declare a string? You put it in an XML file. You want a colour or a specific layout? It goes in an XML file. It is similar to WPF. Again the advantage is that it is Java and is quite a bit easier than Objective-C.

The disadvantage is that when supported the I don't know (100+ different devices) and different versions of the OS, it gets really really hairy fast! Even going from Jellybean to Icecream sandwich is a pain if you plan on supporting both. Not to mention the many different non-standardized screen sizes. Applications must have "permissions" to access the internet and specific things. GUI is easy to use if using Android Studio. It also has a "storyboard" but isn't as good as the iOS one. It lets you drag and drop controls too.

But again, it is free, you have a lot of audience using Android and it gets accepted pretty easily. IOS does too but there's a lot of technical stuff you need to pay attention to.


One example application is: https://github.com/Brandon-T/BookWorm



Windows Phone: Based around C#, a small amount of XML involved and can interop with C++ and WinAPI modules. The simulator is faster than Androids' but slower than iOS'. With C# native, you can build an application on one platform and have it run on all platforms. This means it'll run on your desktop, your phone, your windows 8 tablets, etc.. It can get accepted to the Windows Store fairly easily. The only downside to this platform is that you don't have a large audience. The market share of Windows Phone isn't very "large". It is nice but not "amazing". The point of applications in my opinion is to have users use them. You will get that from Windows phone. How many? Not as much as Android and iOS. Knowing a lot of windows development (winapi and .dll/module) stuff helps alot.

I have some examples for Windows Phone but they are work related and they are in private github repos.

Most of the "good" apps I've done, I cannot show the source ={ but I hope those above give you a nice example of what the API looks like.


Friend made a text spammer and had it on the playstore. Got 89k downloads pretty fast. Illegal though so it got taken down lol. Appstore also accepts pretty fast in my personal experience. 4 days was the most so far.

For each store, there are rules you must abide by. For each device, it is different.


All in all, Android is the easiest to code for because everything is straight forward. Adapters and XML stuff are stupid as hell though. iOS development is the best of them all but it is really rough. Windows Phone is easy to develop for, but too sand boxed and annoying when you want to get some things done.

J J

2014-05-23 16:02:01

You mentioned that the Android emulator is slow a couple times @Brandon; but you could use Genymotion which is incredibly fast.

I've made a lot of Android apps myself and I'm looking to develop for other mobile operating systems as well. I think I will be going with PhoneGap or Xamarin. I just don't really feel like learning Objective C and making the app twice. I also want to target Windows Phone.. so I will have to go with a framework.

Brandon

2014-05-23 16:16:11

From: J J
You mentioned that the Android emulator is slow a couple times @Brandon; but you could use Genymotion which is incredibly fast.

I've made a lot of Android apps myself and I'm looking to develop for other mobile operating systems as well. I think I will be going with PhoneGap or Xamarin. I just don't really feel like learning Objective C and making the app twice. I also want to target Windows Phone.. so I will have to go with a framework.


Mentioned once? Anyway, I'd love to use that but when you work for companies, you have to use their development environment; not your own. That's partially why a lot of things are painful. Especially when it comes to using external tools and libraries. I don't really develop apps for myself. No ideas lol.


I'll try installing it and see how it goes. Never used that. Go with PhoneGap. I used it a lot. It's pretty nice at times; especially for Webapps.

kingarabian

2014-05-23 17:08:44

C#.