TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: iOS or Android for a beginner?

9 pointsby Eduardo3rdover 10 years ago
I&#x27;d like to build a mobile application for a personal side project, but I&#x27;ve never done any app development before. I don&#x27;t really care which platform I use. I&#x27;m just looking for the one that will be the fastest and easiest to pickup. There seems to be a lot of disagreement on the web so I thought I&#x27;d ask here.<p>The core parts of the app will be parsing a QR code and accessing GPS to relay the user&#x27;s location.<p>If it is at all relevant, I have a MS in mechanical engineering and I&#x27;ve done a fair amount of C++ and Python coding for other projects. I would say I&#x27;m probably just past the beginner stage for HTML&#x2F;CSS&#x2F;jQuery, but not comfortable enough to go write a web app without a lot of questions.<p>Thanks in advance for input.

10 comments

dozyover 10 years ago
Full disclosure: I&#x27;m biased as I&#x27;m primarily an Android engineer. But, I&#x27;ve led teams and developed extensively for both platforms, so I&#x27;ll tell you a couple things I&#x27;ve observed.<p>1. If you already own an iOS or Android as your primary device, that should play big into your decision. You&#x27;ll have a much easier time maintaining interest in your project as well as being more likely to create a more compelling product if you live on the platform.<p>2. Google&#x27;s Android documentation and guides are on a <i>completely</i> different level than Apple&#x27;s for iOS - Google&#x27;s is just so much more extensive. It&#x27;s really not even close IMHO. If you&#x27;re a beginner I think this will make a very large difference.<p>3. The iOS developer program and provisioning system is a PITA, even for experienced developers. Often times when learning something new, all it takes is a small roadblock to become frustrated and lose interest. With Android, building apps for you and your friend&#x27;s devices is very easy, and submitting to Google Play is <i>much</i> easier, with no review process and again just one guy&#x27;s opinion, but despite a recent (and dearly needed) makeover, iTunes Connect is still inferior w.r.t usability compared to the Android Developer console.<p>4. I used Eclipse + the ADT plugin for years and while it wasn&#x27;t terrible (I was come from J2ME development for BlackBerry so the bar was quite low), I was always jealous of Xcode. Google has now addressed this with Android Studio. It&#x27;s still a bit of a moving target, but I now consider on par or better than Xcode.<p>5. Don&#x27;t let the haters scare you away with the fragmentation arguments. &quot;Fragmentation&quot; is a feature :) Truthfully, if this is just a side project, I would set a minSdk for your app a minimum 14, or even 19 if you want to, and be amazed by how your app works so well on the 100s or 1000s of devices out there that it supports.<p>Couple words on iOS:<p>1. Whereas with the x86 emulator and Genymotion, the Android <i>emulator</i> has dramatically improved, the iOS <i>simulator</i> is still superior with respect to ease of use and pace of development.<p>2. If you go the iOS route, I would strongly suggest to go directly to Swift. It&#x27;s where the puck is going and you&#x27;ve got a chance at this point to be a relative expert among a sea of objective-c developers, who will need to learn it as Apple increasingly shifts the platform.<p>3. This is very subjective and nebulous, but after using both platforms extensively, I&#x27;ve found the iOS APIs are simply better. You&#x27;ll find things <i>just work</i> and you&#x27;ll be continually surprised to find the puzzle pieces just fitting together. (ie &quot;hey I wonder if there&#x27;s a way I do X...oh perfect there&#x27;s just a simple method call for it&quot;)<p>4. As others have noted, if you don&#x27;t have a Mac then the point is moot, Android is your only option.<p>Hope this helps!
评论 #8493000 未加载
评论 #8492980 未加载
评论 #8492993 未加载
habosaover 10 years ago
I&#x27;d recommend Android for the following reasons:<p>1) The official documentation is way better and much more extensive.<p>2) It&#x27;s $35 one time vs $99 a year. Maybe not a big deal to you but something to consider.<p>3) In my experience it is much easier to get &#x27;Hello World&#x27; up and running on an Android device than on an iOS Device. You can use Eclipse or Android Studio on any platform rather than having to learn XCode.<p>4) Publishing is WAY easier. You can finish your app and have an apk live on the Play Store within an hour. With Apple this process takes ~1 week and you might get rejected.<p>5) You get to code in Java. While it may or may not be a &#x27;better&#x27; language than ObjC it is definitely better documented.<p>For fairness, here are some advantages of iOS:<p>1. The simulator is much faster if you don&#x27;t have a physical device.<p>2. Layout design is definitely easier because of the small number of screen sizes and form factors.<p>3. If your goal is to make money, iOS is still ahead.
marketmakerover 10 years ago
It&#x27;s a coin toss, but I went with iOS and don&#x27;t regret it. The biggest reasons I don&#x27;t regret it have nothing to do with the platform itself and have everything to do with having resources like raywenderlich.com and the articles on that site. I found that community and environment to be very very helpful.<p>The only frustration I really had was that, in the Apple world, things change fast. When I&#x27;d Google something, I&#x27;d find some code from 4 years ago that would show ways of doing things that were outdated. There are also minor disputes here and there on what&#x27;s &quot;the best way&quot; to accomplish things, but overall, coming to -a- solution in most cases never took more than a day or two of frustration.
brudgersover 10 years ago
If you have a Mac then iOS is practical. Otherwise, only Android is practical. Android is also practical of course if you have a Mac. Having an Android device is another reason to look at Android programming.<p>In my opinion, a web app is probably easier to write than a mobile app because:<p>+ Web apps have a longer history and therefore more information about their design and construction.<p>+ There is more choice of frameworks and more choice of language e.g. something as simple as Bottle for Python [1]<p>+ Basic web apps can be written without learning a framework, just some library calls.<p>Of course, getting GPS and QR codes directly isn&#x27;t really possible for a web app. Though processing them is.<p>[1] <a href="http://bottlepy.org/docs/dev/index.html" rel="nofollow">http:&#x2F;&#x2F;bottlepy.org&#x2F;docs&#x2F;dev&#x2F;index.html</a>
pjungwirover 10 years ago
It doesn&#x27;t matter. :-)<p>If your criterion is &quot;fastest and easiest to pickup&quot;, the expected marginal advantage of one or the other is smaller than the time you&#x27;ll spend choosing between them. The only way to really find a preference is to dive in, learn one, and then maybe learn the other later.<p>There may be some <i>other</i> criteria that decide the issue for you, e.g. market conditions or owning a Mac. But really I&#x27;d just pick whichever gives you greater enjoyment.<p>Best of luck!<p>Edit: I did want to say that if you go with iOS, the O&#x27;Reilly book Programming iOS by Neuburg is excellent. I felt their Android book was pretty weak.
anywherenotesover 10 years ago
I&#x27;m surprised people are putting emphasis on programming language. You can use frameworks to code in LUA or C# for either IOS or Android.<p>As others have mentioned, to compile for IOS you&#x27;ll need a Mac. Personally I develop for Android, but use a Mac. My recommendation is to look at which devices your consumers (including you) have and go with it.<p>Read as others commented regarding Amazon&#x27;s annual fee vs. Android&#x27;s one-time (lower) fee. The PO box comment is interesting, but only if you&#x27;re going to sell your app or have in-app-purchases - free apps&#x2F;ad-apps do not require any address.
评论 #8493001 未加载
评论 #8492987 未加载
Someoneover 10 years ago
I think the following should be considerations:<p>What phone do you have? What phone do you think your testers and users will have?<p>Do you have a Mac? You will need on for writing an iOS app.<p>What languages do you favor? For iOS, mainstream ones are Objective-C and Swift (arguably not yet, but it likely will be fairly shortly). For Android, Java. You can use C++ on both, but you will need something else for the UI on iOS and, I would guess, on Android.<p>Did you google for libraries you would want to use? AFAIK, iOS doesn&#x27;t that overly parse QR codes; Android may or may not.
jefflinwoodover 10 years ago
Because you know a little bit of HTML&#x2F;CSS&#x2F;jQuery, why don&#x27;t you try to build it as a cross-platform HTML5 mobile web app using Cordova&#x2F;PhoneGap?<p>There&#x27;s a bar code scanner plugin for Cordova:<p><a href="https://github.com/wildabeast/BarcodeScanner" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wildabeast&#x2F;BarcodeScanner</a><p>And location can be accessed using the standard geolocation plugin for Cordova.<p>Because it&#x27;s a side project, it won&#x27;t matter that the user interface is non-standard&#x2F;quirky.
haberdasherover 10 years ago
Go with Android.<p>1) The fee is less for publishing ($35 vs. $99) and you&#x27;re guaranteed tobe able to publish.<p>2) You can use Eclipse or Android Studio (intellij) and not have to learn XCode.<p>3) If you didn&#x27;t want to learn java, you could write your android app with python or use a wrapper and just use HTML&#x2F;CSS&#x2F;JavaScript.
评论 #8492812 未加载
评论 #8493272 未加载
sdernleyover 10 years ago
If you can, do both. If it&#x27;s just to learn though, i&#x27;d do whatever has the lowest barrier to entry for you. Which phone do you have yourself? Make it for that. Good luck!