Best Way and Program How to Teach Kids to Write iOS Apps Using PC Laptop

Kids (Around 10 years old) want to learn how to write iOS apps.

What is the best way?

So far, enrolled few courses on Udemy - haven't started yet.

Look at two developer programs - one was turned free and was posted on an OZB deal few days ago. (try to locate it but could no longer find it, please help).

Another is the visual studio.

Some people suggested to use virtual machine to run a Mac writing program on My PC laptop - just too complex and my laptop did not like VM as not very advanced and fast.

Any comments/tips. Thanks.

Comments

  • +4

    why not just learn how to write programs using Java? IT's far more useful and will help with uni and job prospects if they were ever to go down the computer science/software engineering path

    • -7

      Seems like terrible advice to me - you may or may not have noticed that Google and the rest of the Zuckernerds have been paying off duh gummints of the world to make coding "as important as Shakepeare" so that every child is taught coding in a mandatory fashion.

      This is of course to drive down their costs by paying their future employees far less than the current going rates.

      • +11

        oh pipe down with your gummint and corporate conspiracy theories.

        LEARNing java is not bad advice.

      • +3

        computing jobs are growing.

        I WISH I had the opportunity to learn how to write code and make phone applications while in school.

        good talented coders can earn a lot of dosh too

        • Were phones even around when you went to school?

        • @Gimli:

          There were smartphones then, but iphone SDK was only released after I graduated.

          We had no computing curriculum in our school, but I did play a little around with Lego mindstorms (drag-drop UI programming)

        • +1

          You don't even need to be good or talented to earn lots of cash.
          Look at flappy bird. Took the guy 15 minutes to make and in the first few weeks he earned over $1 million from it.

      • Learning basic programming is something that will benefit you in any role that has you sitting in front of a computer, or if you use a computer in your personal life. You don't have to be a 'developer' to benefit from it.

        I'm not a developer by any stretch of the imagination, but I've written my own code to automate a couple of dozen different tasks at work, and another dozen at home. Teaching kids this stuff SHOULD be a priority. It certainly wasn't when I was growing up, but I was lucky enough to have a parent that got me started early.

    • +4

      It does not really matter what language will the kids learn, whether it is going to be Swift or Java. Both might become irrelevant in 10 years. What really matters is the programming skills that they will get.

      If they kids want to write iOS apps, it is better not to stand in their way and pursue them to learn Java instead.

      • -4

        They're 10 years old. I Don't think they even know what iOS is. It seems like they just want to create some software. The OP said he is not able to run a VM, so I think it's just better to stick to a more widely used language like Java unless he wants to buy them a new macbook or imac.

        • +4

          Ok, my assumption was that they have iOS devices and that's why they want to write for iOS. If that is not the case, then it is indeed a different story.

          However, if I am correct and they have iOS devices then trying to convince 10 year old kids that they should not develop for iOS and should learn Java instead because it is "far more useful and will help with uni and job prospects" is certainly a bad idea. The kids might loose their interest in programming because of that. Let them start with what they want, they can always learn a new language whenever they want.

        • -1

          @brightaussie:

          Reply to the OP, not me.

        • +1

          have been thinking getting a Mac, only issue I have is to justify to my conscience reasons to spend hundreds to thousands dollars to buy iOS software which I already have for PC. Really wants to know what and how people normally do - just bite the bullet and buy all new software?!

        • +1

          @eatwell365:

          I run Windows 10 Professional on my main PC.

          I develop apps using Java as a hobby and chuck them on my Samsung Galaxy Tab S to play around with.
          I started here:

          http://developer.android.com/sdk/index.html

        • @cDNA: sincerely thanks.

        • @eatwell365:

          Apple hardware can run both OSX and Windows. So you don't necessarily need to make that transition immediately. There's nothing stopping you from installing Windows on the same device and switching between both as needed. If you find you prefer the OSX GUI you can start making the switch. Until then, you can use Windows, and your kids can use OSX and XCode for their iOS development.

        • @eatwell365: Why have you been thinking of getting a Mac?

          And which software are you replacing?

          Personally I never want to touch another Apple product again. But interested in why you would want to throw money away on an ecosystem which is restrictive and expensive?

          Your kids may learn more from your rejection of consumerism, thinking for yourself and getting something better rather than something which is perceived to be cooler.

      • +5

        I first learnt Java almost 20 years ago writing applets doing animations on web pages… Helped a uni kid debugging his java assignment today. Yeah still useful.

        • -1

          So you learnt java just when it came out on 1996 with the JDK 1.0 version? ,,, ok

        • +5

          @doodo477: that's correct :) wrote the first few Java apps on a Solarist even. Wrote a Java IDE as my final year thesis in '98/'99 when Swing first came out.

    • just tongue in cheek.

      learn Java - very useful and earn a life long time of work
      learn iOS - simple but one app may not need to work the rest of life.

      ? your view

      • In university, one of the first languages students learn is Java, python or C. Universities (the top ones at least) don't teach Apple programming languages. It's something students can learn by themselves.
        I am not an expert on children's learning or Apple platforms, so perhaps you can ask brightaussie for advice about ios.

        C is not appropriate for kiddies.

        I would say stick to Java and you can easily deploy the apps on android phones.

        • Universities (the top ones at least) don't teach Apple programming language

          They do now. They are electives but as you say you learn Java, Python and/or C first.

          I completely agree with doing Java at first. It's a good base language. When I first learnt Python I found it annoying as hell because it was just different to the languages I had experience with (HTML, PHP and Java) now I can see why it was useful.

      • +5

        Or C# with recently made free Xamarin, you can develop & deploy on both Android & iOS.

        Not that I will let my kids be tainted with all that Microsoft stuff, but each to his own :)

        • What do you give your kids to use? Apple stuff?

        • +7

          @cDNA: Python on Ubuntu

        • +1

          @scotty:

          rofl……..
          Sorry but I just laughed out loud. I use Ubuntu now, but if I was a kid, I'd probably throw the computer out the window. It's nice to have parents that are computer literate.
          I might consider installing Ubuntu for my kids in the future.

          Thanks

        • +2

          @cDNA: it's surprisingly useable. I do all the admin for them (mostly just apt-get upgrade). Most of the time they just open up Firefox or Chromium anyway. The 11yo is learning Python but all done in IDE, and never need to venture into bash prompt.

        • +1

          @cDNA:

          :p Sorry but you need to give kids more credit. Kids are way smarter than adults. Python runs in the command line. It has an interpreter mode so you get immediate results.

          Op, install Ubuntu (or any other Linux distribution) on a usb stick. Boot your laptop into live mode using the stick. Open the command line and introduce your self to some basic commands such as cd, ls, date.

          Follow a tutorial such as http://python.swaroopch.com/index.html

          To become familiar with Python, then introduce your kids to it.

          It doesn't have to be "learn Python", just use it as an introduction to basic programming concepts.

          ((you can also get Python on Windows))

        • You can even get Red Hat Enterprise Linux for free now, for development purposes - http://www.itwire.com/opinion-and-analysis/the-linux-distill…

        • Or C# with recently made free Xamarin, you can develop & deploy on both Android & iOS.

          So much this.

      • +1

        You don't really know what programming language is going to be popular in 10 years. Plus, it is not the knowledge of a particular language that makes someone a good programmer.

        • +1

          Hey man. I know you're an iOS developer, but stop trying to convince him to stick with the iOS platform when he doesn't even have an apple computer.

          Kids can adapt to new operating system and hardware without having their parents spend $2000+ on new apple software and hardware. Android tablets are dirt cheap

          Java and C will still be around in 10 years.

        • +1

          @cDNA: It is really sad that this topic when to discussion about which language is better rather than how to keep kids interested and give them what they want.

        • +4

          @cDNA:

          The OP literally says "Kids (Around 10 years old) want to learn how to write iOS apps.". You've spent the entire thread telling him about other languages and ignoring his original question. Brightaussie is spot on about the language being far less important than the kids having a goal that actually keeps them interested. If that goal is seeing an app on their phone, more power to them. The language doesn't matter. The fact that they're enthusiastic about it does.

        • @GStone:

          Go tell him to purchase a macbook then. I've spent the entire thread being pragmatic and listening to his concerns. I don't care what his kids want. They're not capable enough to comprehend what is best for them.

        • @cDNA: just want to thank you all who has commented so far, learnt a lot and not really right or wrong.

        • +1

          @eatwell365:

          I think Brendoo's post is excellent. When I was young my first languages were Visual Basic and HTML. I agree with him.

      • Why not start with something simpler to get up and running?

        Microsoft ecosystem is great for that, you can get Visual Studio for free, it'll work out of the box (no stuffing around with your environment paths), and you have the choice of what you build for (windows, web, other).

    • The world runs on Java. Android is Java, all the big Google sites have Java on the server. Software never goes away, that's why we still have mainframes running cool or whatever. There might not be many new mainframe systems but the old ones never die because writing software is hard and time consuming. In our lives legacy systems never disappear, eg you can't rip up old train tracks, everybody knows 4 8 1/2" is too narrow, but you can't ignore and replace e past so you keep it and live. This is why Java will never diaappear. Most of the banks, insurance companies and so on are all Java by a significant margin. Java ain't that bad anyway, it's certainly got better ides and a zillion libraries for anything, that's why android was built on top of Java so all those assets could be leveraged.

  • +1

    I'm not sure how easy/ what the price is but you should be able to get Xamarin in Windows.

    http://mspoweruser.com/build-2016-xamarin-to-bring-an-ios-em…

    • +4

      Xamarin is free as of about 48 hours ago :) Won't be able to push it to iOS devices without a Mac unfortunately.

  • +4

    Well, "the best way" can be very subjective… I am an iOS developer myself and I think that the best way in this case is to learn Swift and use Xcode. I believe that it will be easier for your kids to learn compared to C# (Xamarin) plus Xcode is a native IDE. You will need OS X for that and how you get it is the second question. You could obviously use a virtual machine or buy used Mac for your kids.

    • Just upgrade laptop to Windows 10 and saw,virtual studio is now free. Accordingly, virtual studio can be used to write iOS app, Any tips or experience on this please?

      • The biggest tip that I can give you - if your kids have iOS devices, then make sure that you can install & run apps from virtual studio to iOS devices. It is no fun to write code if you can't see it in action.

        • thanks. plenty of iPhone/ iPads but no Mac.

        • @eatwell365:

          Android tablets are dirt cheap.

        • +2

          @eatwell365: Buy them a used Mac to run Xcode on? It won't cost you much.

  • +8

    MITs Scratch would be a good option : https://scratch.mit.edu/

    • thanks, remember he plays an iOS game on iPad similar to this as well but could remember the name,

    • +2

      Initially my 11yo just wants to learn Scratch & Hopscotch on iPad. I went "WTH?! That is a programming language?" And got her started with Python on Code Academy…

      • That's the one!

  • Just get a raspberri pi and dump it on them.

  • +1

    To build for iOS and to push to the Apple App Store you will need a Mac with OS X and XCode. This is irrelevant of the tools you use - whether Swift or Xamarin or even Delphi.

    However if you don't have iOS devices and iOS isn't so important to you, more the experience of writing apps in general, get Visual Studio Community Edition (free) and some cheap Nokia Lumia phones. Microsoft has made the barrier to entry for the Windows Phone store very low, with the tools freely available and even the developer membership to publish to the store either free or $29 (it was $29 years ago, I think it is now free.)

    Of course, maybe the Windows Phone store isn't a huge marketplace but that's not the real point - the fact is you can enable them to write apps and publish them and really have them running on a smartphone without a lot of investment at all. If they wish to then pursue iOS or Android they can use these skills to build from there.

    • thank you. do not have Lumio phone but assume can use Surface tablet instead?!

      • +1

        Yes … Using Visual Studio you can publish to the Windows App Store (i.e. Windows 8.1 and 10). You can also emulate a Windows phone and don't need a real one.

        However I think there is something especially rewarding about being able to push your app to a real phone and walk around running it and showing it to others, thus the suggestion for a cheap Lumia but it's not essential by any means.

  • +2

    Another option is to look into PhoneGap but I can't recall offhand if there is a fee for this.

  • +3

    Good game had a 5 part tutorial on making a game using a free visual programming language called Scratch https://scratch.mit.edu/parents/

    This might be more interesting for your kids than using/getting text.

    Coding Corner with Goose and Julian (2015): http://www.youtube.com/playlist?list=PLSN0i_mR5nFc0oeQF-lMHE…

  • +5

    My 12yo daughter is learning Scratch through Code Club (http://www.codeclubau.org/). You are best not to fence them into one particular language early on. Scratch is great at teaching them the building blocks of how code works well before the intricacies of language specific code.

    Doing it through code club is excellent as the group of kids bounce ideas off each other in ways you cannot even imagine.Don't underestimate how different your kids will be when trying to solve problems and come up with new ideas. I work in IT, and I am fairly close to programming in general, but I feel like a total noob next to what these kids are thinking up and doing.

    I have been looking into a setup to step up to iOS development and basically you need an Apple PC or Laptop to get into that properly. Trying to do iOS on anything else is just too much trying to fit a square peg through a round hole. I am about to purchase a Mac for my daughter and myself to learn iOS development together.

  • +9

    As a senior software developer (20+ years experience) and an iOS and Java developer (amongst others), I would not reccommend a 10 year old programming in Swift to build iOS Apps, nor would I recommend Java as a starting language as many people have suggested.

    Why? Both of those are way above the level of the typical 10 year old, who I am presuming isn't a coder already and is only just getting into it. It is not the best place to start. There will be no quick wins for the kids with Java or Swift and they may end up frustrated and give up. Also, the OP doesn't have a Mac, a Mac is mandatory for loading applications to the Apple App Store. A Mac is also typically used to write the code in the Xcode IDE (development software). And you need pay for an Apple Developer License (yearly fee). Plus more things to setup.

    Instead of Swift or Java, I would suggest that the youngsters learn HTML5 and Javascript (not Java). This will also enable them to point their iPhone or iPad (or anything) web browser at their apps. They can still build them with mobile features and mobile look and feel. I would recommend they start with the basics, then look at some of the popular Javascript Frameworks to add more advanced and visually rich features once they get some skills. Doing this they are creating valuable web site building skills for themselves at the same time. You will need to pay for some web hosting for the kids to upload their creations to the Internet (I'm sure they will want their mates to see it), but that's cheap as chips (about $10 a month). You can of course run what you build locally at home on your laptop or another computer in the house for free, but it's fun to put them on the Internet.

    If they enjoy the above after some time (like a year at least) and get good at it, I would then suggest using Adobe Phonegap (based on Cordova), which will allow them to create more native-like apps for iOS (or Android/Windows Phone) but still using HTML5 and Javascript. The key difference is that they get access to the native hardware features of the phone, such as camera, compass, accelerometer, geolocation etc and can incorporate those into their apps. The app, although built on HTML5/Javascript, can then be deployed to the iOS App Store as a downloadable app (but you will still need a Mac and Apple Developer license to deploy the apps, but not needed to code them), but with PhoneGap you can use the Adobe Build service which will compile/build the app for you in iOS format, ready for you to just load to the App Store (with a Mac).

    Beyond the above, you can go to native iOS using Swift with a Mac and Xcode, and by that time they should have learned a lot about programming from Javascript. If they get to that point and get good at it, they could then probably get a job as a coder.

    Javascript is the most popular programming language in the world.

    On Windows you can use Microsoft Visual Studio to do the coding, or Eclipse, or Intel's XDK. They are 3 popular/common choices. You can also use a plain old text editor too.

    It is also important for them to learn the correct approach to programming (regardless of language), it's important to start off with the right techniques that apply to every language. A course should help with that, as well as learning the languages, so I would recommend a course on Javascript/HTML5 to get them started. Your local TAFE or Uni may have some short courses in addition to the typical on-line ones (depends if you want to spend any money or not - this is OzBargain I guess).

    Hope that helps.

    • Small correction: you don't need anymore to be a member of the developer program with Apple to deploy apps via Xcode to your own devices.

    • I suck at swift I rather go with objective c. I seem to struggle with integrating swift

    • I can get behind that. When I was young I started with HTML

    • +1

      this is a great answer.

      java, c, obj-c/swift are all pretty complex languages and it'll take your kids a good while before they see any meaningful results.

      when learning something new, it's incredibly important to see steady progress and HTML, CSS, JavaScript will do that quite well.

  • Love to see a 10 year old navigate the vector array curse…

  • Just my 2 cents worth.

    If the kids are playing Minecraft I think the Computercraft mod that uses the Lua language would be a helpful stepping stone. I stand in front of my computer playing a game and in that game I am standing in front of a computer writing code to control my Turtles, amongst other things. If the kids aren't into Minecraft MODS then Curse is the easy way into the mod scene. Also look at the now Microsoft owned MinecraftEDU https://minecraftedu.com/.

    Nothing helps learning like an associated passion.

    Raspberry pie would also be on my list. Equally so Ubuntu if you have an old laptop handy.

    Finally, a Mac laptop with a broken screen would be my cost effective path into iOS dev. Very easily used with VNC and SSH.

    • Son is a minecraft nerd on Xbox and ipad using PE. He self taught himself a lot on YouTube and kept asking for PC version. Is it worth to get the PC ver? Where is the best place to get a copy?only have laptops without powerful setup. ?ok.

      • Minecraft on the PC has an incredible technical depth by comparison to the Xbox and PE versions. We're talking electrics, hydraulics, automation for mining and food production, scripting etc. I'm sure the Xbox version is improving day by day but we never play it now unless we are introducing someone to the game and they only have an Xbox.

        A celeron with 4gb will do (with reduced settings) but a memory upgrade would be beneficial if they really get into it.

        Minecraft can be bought at https://minecraft.net/ for $27USD. 23 million sold! In my experience it is worth every cent.

        • Havrn't bought any game online and no games for many years (used to buy hard copies).

          if buy a PC game nowadays, how many times or computer can a copy of game be installed?

          Tempted to put it in a faster laptop I use for work but son cannot access when not at home. Would be nice to buy game once and put in both laptops.

        • You can install it on as many computers as you like (I think) but you can only have one active connection per purchase. So what you describe should be fine.

          In the past you could fudge it a bit if you played singleplayer or multiplayer on your LAN, not sure about now.

          As I understand it, as soon as you go online it talks to an authentication server.

          My nephew and I have hundreds of hours logged, less than 10 cents an hour for an incredible educational and relationship building experience.

        • Minecraft on the PC has an incredible technical depth by comparison to the Xbox and PE versions.

          To clarify, this is because the PC version can run mods. Vanilla Minecraft doesnt have elecrtrics, hydrolics etc.

      • This could be of interest
        Triangulation 243
        Learn to Program with Minecraft
        https://twit.tv/shows/triangulation/episodes/243

        • Thanks, enjoyed the episode and just bought the book.

  • +1

    I have no idea what the best path is for a modern-day 10 year old kid to learn iOS development. But these days there's quite a few quickie iOS code camps for kids during school holidays. They can find out if they're actually interested but these things cost real money.

    If your kids are keen self-learners then 10-12 years old is a good time to get into programming though. If they do get addicted just encourage outdoor activities and responsible bed time (though you'll be ruining their productivity :)) since it can be hard to resist making "one more change".

    I skipped iOS development though I'll probably need it soon. The fact most apps seem to be released on iPhones first, you historically needed a mac to develop and, most importantly, both macs and iPhones were priced out of reach for most of the world's population made me think - screw you Apple. It annoyed me that up until a few years ago almost nobody had iPhones in Asia, Africa and South America but you'd come back to Australia and people who could barely use a computer would be whingeing that they don't have the latest iPhone, iPad or Macbook and that they can't afford to buy groceries…

  • +1

    10 years old kids want to write iOS apps… perfect!

    IMHO, I would recommend them to write iOS apps instead of writing any Java stuff, because with iOS apps they can test and use the apps straight away and can get very creative. Java programs in other hands are very boring to kids, even adults LOL.

    Best way: if you really want to invest, you need at least a iPod touch and a Mac Mini (cheapest solution) for your kids to kick start. With the new Xcode 7 you do not need a developer program subscription ($149 per year) to install the app to the device. Just develop something fun, connect your iPod touch/iPhone to your Mac and install the app straight away to your devices.

    Do not bother with Hackintosh or anything they are just too complicated unless you're a real hobbyist.

  • 10 year old kids are at an age where they are still learning basic math skills. Jumping straight into iOS is waaaaay too advanced unless they are ridiculously gifted. Even Uni aged kids struggle to program properly. I would suggest looking into Lego Mindstorm. It is aimed at kids, generates tangible results and they can get something fun working pretty quickly.

  • +1

    How has no one mentioned Game Maker or Unity? Game Maker is very easy to use and doesn't have a steep learning curve like most other things. This can also be used to deploy apps to the app store (admittedly with a fee). If you're wanting to go for something a bit harder but something that is used throughout the industry then Unity is a good option. Both of these have tonnes of free courses online

    • GameMaker does have a steep learning curve if you're 10. I usually start kids off with Scratch and then move to GameMaker. The level of literacy involved in GM, and to follow the tutorials, is often more high-school level than yr 5/6

      This is a great (teacher) guide for Scratch, with activities that build up programming skills. The stuff at the end with facial recognition etc is getting quite advanced!

      http://scratched.gse.harvard.edu/guide/

  • +1

    https://hourofcode.com has great resources, aimed at kids, for lots of different languages and levels (from getting Elsa to make snowflakes in a Scratch-like environment to more complex stuff).

    I also love geeking out with kids and Sew Electric - makerspace and coding combined.
    http://sewelectric.org

  • -1

    Nobody really makes money from iOS. Lots may try but few actually make money equivalent to a regular Java programmer. It's pretty hard to make money from someone that sells for a dollar or two. On the other hand and average Java programmer will make 100k +. Most people here who make money from iOS are sponsored by a big company eg a bank, they don't actually make money from the App Store directly. For Java or even dot net there are plenty of companies who have he money for it, so learn and get a job.

  • It's surprising to see how many parents are teaching their kids to program these days. Everyone thought I was weird when I learnt Javascript 1.5 from a book many years ago.

  • I think if a 10yo wants to write an app, your best bet is probably gamemaker as it is visual coding and will give them an understanding of the structure of coding, while still allowing them to get a finnished product.

    99% sure it can export to iOS.

  • +1

    As other have suggested, instead of diving into iOS app development, I'd recommend teaching your 10 year old some basic programming paradigms first. There are plenty of great tools out there which facilitate this like Scratch and Stencyl. Also, a lot of code camps (both paid and free) to help you out. I personally am a volunteer tutor at one called CoderDojo based in Melbourne which is completely free. Among other technologies, we teach JavaScript here using code.org and codecamdemy.com. Have a look at it and if you'd like to enroll your kid, shoot me a PM =)
    Cheers.

  • +2

    Javascript/HTML5 apps are the way to go:

    read https://developer.apple.com/library/ios/documentation/AppleA… and get your kids some HTML5 stuff. Very hard to beat in speed of feedback loop, price and …

  • +1

    I would suggest processing. It is available on Linux, OSX and Windows. It is based on Java and shouldn't that hard for kids to pick up. Visual basic is pretty simple and should also be able to pick it up fairly easily.

    Programming is mainly practice. Initially it will be hard in terms of the thought process and how to code the solution. Over time they will find it much easier.

    Also many schools use visual basic to teach their kids programming.

    In terms of IOS Windows announced that Xamarin would be included in all versions of Visual Studio meaning that you can code Android and IOS apps through it.

    I would start off with a easy language first for them to understand coding a bit better and then move to languages such as C#.

    Sorry for the long post 😊

Login or Join to leave a comment