Hacker News new | past | comments | ask | show | jobs | submit login
Swift Playgrounds – Learn to code on your iPad (apple.com)
296 points by fred256 on Sept 14, 2016 | hide | past | favorite | 127 comments



Will they include a lesson on how to make Byte set up a provisioning profile in itunesconnect and install a code signing key in your local keychain and and enter the MAC address of his tethered device into developer.apple.com and then hopefully, just maybe XCode will allow you to run what you wrote?


>Will they include a lesson on how to make

No. Because it's not relevant to working with code in swift playgrounds on an iPad. It's not even relevant to working with XCode and hasn't been for some time now. I'd never say XCode 'just works', but it currently works better than it did. Especially around provisioning and most especially around just getting some code to run on a device. I well remember that WTAF moment when I plugged my first iPhone into my first mac and realised that just to run hello world I would need to give Apple money and then do those things that you said. Doesn't work like that anymore.

Edit: fat fingers


The other day I helped a new iOS dev to get going, we signed him up for our company Apple Developer account and then tried to log him in to XCode. We got an error like 'your session timed out'. We tried everything we and Google could come up with to no avail. Next morning it just worked.

Sure, an anecdote. But my experience with XCode and provisioning so far is that I stumble on different, unexpected weirdnesses like these, over and over again.


I am not surprised and believe your anecdote without hesitation. XCode is better along multiple dimensions than it was a few versions back, but is still a crawling horror. Even so, the workflow (weird bugs and all) around provisioning is nowhere near as awful as it used to be. A small mercy, to be sure.


Correct me if I'm wrong (it's been a while), but I'd say you never needed to give Apple money to run your code on your device. You just needed to create a free developer account. The payment option was to publish apps in the AppStore etc.


No, for a long time there were no "free developer accounts". If you wanted to run code on an actual device, you had to pay.


Thanks guys. Actually I added the "correct me if I'm wrong" part because I suspected this could very well be the case :) You know, we're getting old, we forget the worst parts...


Free developer accounts are fairly new, and they are an even greater hassle than the paid accounts. Both the device and the Mac need to be online (so impossible to develop on the train with spotty internet), you need to manually unlock every single app in the device settings, there's a very low upper limit of apps (8 or so?) you're allowed to install on your device. If you have an Xcode project with many targets (e.g. sample programs), you need to manually delete apps on the device before you can deploy/debug new ones. Also, for all provisioning scenarios you'll now have to set a 'development team' per target (not just once per project), and this needs to happen, there's no default. This is especially fun with cmake, each time after generating an Xcode project you need to manually go into the Xcode project settings and fix the development team on each target.

It's a mess and I don't see why it has to be so complicated for development.


Wait a second, if I got it right you use an external tool to generate Xcode project?

So basically the external tool don't properly set the 'development team' variable in the generated Xcode project.

May I ask how this is supposed to be Apple's fault if a third party App haven't yet been updated to meet new requirements? Did you update XCode ahead of version supported by your external tool?

Coming from scripting languages, I'm starting to learn pure Xcode/Cocoa/Swift workflow with a free account and I really don't relate to problems you are describing (but my target is only macOs for now, so I might miss the deployement hassle you describe I give you that)


The problem is not the external tool, cmake allows to set all Xcode project attributes just fine. The problem is that there is no automatic default for this one setting, the development team setting has to be manually set.

For instance, you also cannot distribute Xcode project files now which simply compile out of the box. You'll have to go into project settings first and set the development team for every single app target.

Why the development team is part of the project setting, and not simply an Xcode-wide setting in the preferences is beyond me.


As of right now, my Xcode got access to 5 to 10 team and their project. How is he supposed to know that I want my target z go to team y ? And that this target is a store account, not the usual enterprise one for other project by the same team ? And I think cmake can add the proper account to the project too, but it's probably not well documented...


I think the proper solution would be to have a 'default team' which is filled in for each target that hasn't an explicit team set. That way, Xcode project files coming with open source projects could keep the team setting empty and would still compile and deploy out of the box.


This used only be an issue with iOS as target needing paid account for development to run apps on hardware


The builds also expire after a couple of days, which is incredibly frustrating if you tell someone "Yeah I'm working on this cool project!" and they ask to see it.

Sorry buddy, this build is from last Wednesday, so all it can do is launch itself and immediately crash back to home screen.


ISTR - and ICBW because it has indeed been a while - that back in the iPhoneOS days the free account got you XCode and the simulator but you needed a paid account to be able to get an actual provisioning profile to load code on a device. But that was like 5 or 6 XCodes and 4 and some S'es iPhones ago. I might well be misremembering.


Do you count the money you spent on the Mac and the iOS device?


Don't forget the bus ticket to get to the Apple Store to buy them in the first place.


Ha don't forget the cost of the clothes you wore there, and the sustenance you had to eat for energy that day.

These things work out expensive!


I actually did, that spend was part of an NRE package for an R&D contract and the cost was borne by the client. How it works. If the point you're making is that the additional developer fee is marginal, you are of course quite corrrect.


I'm pretty sure stevetrewick wasn't talking about this when he wrote "and realised that just to run hello world I would need to give Apple money and then do those things that you said".

If you put it that way, it's impossible to write any code and run it on any device without paying something to some company.


Quite. It's not even a huge amount considering all the other stuff you get along with it (and it was less then) but it still felt weird as I'd just come off a stint of Windows Mobile stuff (shudder) which was pretty much plug in and hack - though of course in that case you still have to give MSFT money for the dev tools. (And the host. And the devices. And the chair to sit on ...)


Snarky snarky!

Semi warranted. But I teach swift to teenagers, and have set up hundreds of devices/machines with Xcode/etc at this point. Yes, it's still prone to random bugs, like most software, but with sideloading it's getting pretty darn close to plug in your phone, press Run, and It Just Works.


> It Just Works

Even if that's true, you're still locked into Apple's world—a privilege you paid for.

If I'm snarky it's because calling this "revolutionary" is a slap in the face to the people who've spent their careers working to understand early education through computers, without the ulterior motive of said platform lock-in.


It's tricky.

Even if you write for Windows, you'll be using APIs that only work on there (eg if you write in C++ using MFC or COM, or write using .NET and eg. find that you can only do certain things with Invoke by calling into system DLLs, which you won't be able to do on other platforms, despite the open source nature of .NET these days).

If you write for iPad, you are restricted to their iOS APIs.

If you write for Mac OS, you'll be restricted to there, as you use Cocoa.

If you write for Android, you'll be restricted to there, as you write using Android's APIs despite the existence of Java and some of its runtime. You could attempt C++ on here but the NDK is a bolt-on.

The only true solution seems to be to write in a language that is available across all platforms (C++?) using a library that works across all of them (doesn't exist), but this is non-existent as the ways the systems behave (windowing, application process cycle) is different on each platform and it would be foolish to believe that they should be the same, or that they behave in the same way.

I think we should just accept that each platform has its merits and disadvantages and stop aiming for this dream of easy cross-compatibility with little developer effort. On all platforms we have to buy the hardware, sometimes have to buy the tooling, and then have to submit our applications to the respective markets or distribution channels (even on Linux, we can't just chuck our stuff at repos, particularly if we want to sell it). Ultimately if we write for a platform, there will always be lock-in of some sort (eg why can't I run my EXE on Mac?).


Or just develop for the web.


So how do I do threading in my web app?



Haha that showed me! Thanks very much!

I like how the URL includes "basics" which indicates my knowledge (or lack thereof).

Thanks for the link, I have reading to do


To be honest, your knowledge is probably much better than mine. I just lurk hacker news and r/programming way too much for someone not in the industry.


Of course, offline is a bit more difficult for the web...


I cry a little every time that I realize that Apple and Microsoft have traded positions.

Development tools should be open, at least we should be able to target platforms generically.


Apple was never really open to other platforms though. I don't think they traded positions then, Microsoft evolved a bit while Apple continues with the same approach.


Yep. Apple has always wanted to control both the hardware and software, whereas Microsoft 'settled' for controlling the software on a fairly open hardware platform.


Not always. Steve wanted to, but Steve disagreed. For the Apple 2, the net effect was that it shipped with hardware schematics (everything, including the power supply) and commented ROM listings.

Even the original Mac still had fairly comprehensive documentation of parts of its hardware, if you bought the phone book edition of Inside Macintosh.

And of course, IBM didn't 'settle' for opening up the platform. Compaq and Phoenix Technologies opened it for them.


That's Steve Wozniak and Steve Jobs respectively for those who struggled to parse that.


I feel like Apple was more open to alternate distribution options at the beginning of OSX, but I might be wrong in this. tvOS and watchOS have made their software distribution completely Apple lock-in, i.e. you can only do it with Apple tools, see bitcode requirements.


They had to, as they were about to close shop.

Apple was the last surviving company of home computers, from the likes of Acorn, Atari, Commodore, MSX,.....

All of them controlled the whole experience, both hardware and software.

By the time Apple bought NeXT (which in practice was actually the other way around), they need to attract developers back to their platform, so they played nice.

Nowadays they have plenty of money on the bank and can be back to being as they always were.


MSX wasn't a company; it was a platform promoted by multiple companies, many of them Japanese. https://en.wikipedia.org/wiki/MSX#Manufacturers lists, for the original MSX:

"Spectravideo, Philips, Al Alamiah, Sony, Sanyo, Mitsubishi, Toshiba, Hitachi, National, Panasonic, Canon, Casio, Pioneer, Fujitsu General, Yamaha, JVC, Yashica-Kyocera, GoldStar, Samsung/Fenner, Daewoo/Yeno, Gradiente, Sharp/Epcom, Talent, Frael."

AGE Labs


I know, but on the phone it is easier to write MSX than search and type that list you posted.



Try deploying a non-apple language to tvOS and/or watchOS.

Then come back and tell me that they are "open".

Bitcode sounded so good back when it came out, but is actually a way of guaranteeing that people only use Apple tools for shipping software.



None of these do proper bitcode. And once they do, the managed runtimes will be slow as molasses.


> None of these do proper bitcode.

C++ surely does unless you don't use Apple's compiler, as for the others they are in the process of making it happen.

> And once they do, the managed runtimes will be slow as molasses.

I guess you mean as fast as the Objective-C and Swift managed runtimes.


Overlooked C++. My point stands for managed runtimes. ObjC/Swift don't have to deal with the following laundry list of things the managed runtimes need to implement:

- Explicit instrumentation for null pointer checks (slow)

- Explicit instrumentation for stack overflow checks (slow)

- Explicit instrumentation for GC safe points (slow)

- Exceptions and unwinding implemented on top of cxx_throw instead of signals and setjmp/lonjmp (slow and error prone)

- Defensively generated trampolines for reflection for any thinkable parameter type permutation

There are quite a few more details that make managed runtimes under bitcode suboptimal.

Taking away things like read/write register access, signals and system APIs like setjmp/longjmp puts managed runtimes at a huge disadvatage.

Neither Swift nor ObjC (and to a large degree C++) need to solve any of these problems.


I doubt very much any of those issues will show up relevant values in a profile run, which is what actually matters, not the theoretical value of a few ms more that the user hardly notices.

There is also room for the AOT bitcode optimizations to hoist many of those checks, specially since the AOT compilation takes place at the store side with lots of resources available.

Android and Windows Phone have already proven that those issues aren't an actual issue from the user point of view, specially on the Android side if you take into account the market share.


I've worked on both RoboVM and Mono, I can tell you first hand that these are issues that are real and have high impact on performance.

Android and Windows Phone don't lock their respective managed runtimes down like Apple does lock down the likes of Mono/Xamarin. On Android you have full access to almost everything, and on Windows Phone MS has a vested interest in exposing all required features to their managed runtime. No such luck on Apple hardware.


Fair enough. By the way the JavaZone presentation was interesting.


Swift is both open and runs on multiple platforms.


They aren't much different from all the other home computer vendors, Atari, Comodore, Acorn,....


When I started getting around computers we had to pay for everything and most of the programming languages were specific to the machine one had, way before Apple mattered at all in the home market.

Apple 8 bit computers weren't even relevant in Europe.

Yet I managed to learn pretty well.


Ultimately, if those people with their years of understanding have done a better job of understanding the needs of teachers and pupils then Apple will fail.

If Apple doesn't fail, then those people need to have a long hard look at their careers.


Out of curiosity, how many of those teenagers come from impoverished circumstances? I find a certain irony in schools teaching things like iOS development to demographics which very likely cannot responsibly afford an apple computer or even an iPhone.

I still think it's a good thing, just that it brings a different perspective to the "walled-garden" argument against many brands/services as well as tech education as a whole.


Most of them do. We teach basic Ruby and Swift (with UIKit), certainly not "iOS development". The workshop is only over 3 days, with some homework.

The goal is not to make them the developers of tomorrow - just to expose them to programming, and light CS thinking. They don't get these opportunities at school. If they don't like it, well hey at least they tried. If they like it, then great! They have discovered a new passion they might have not found otherwise. We've been doing this for a few years now, and many of them (about 40%) have gone on to study CS or something related in college; of those, a fair number also got the motivation to go to college partly because it'd allow them to study CS.

We very much emphasize the fact during the workshop that if they understand the basics (variables, loops, functions, etc.) then they can learn any language. A big part of the pedagogy is encouraging them to try things, fail, use Stack Overflow, etc.

Gender split is basically 50/50, a fair mix of black/hispanic/asian kids with the few white kids sprinkled in.

All that said, a fair amount of them do have iPhones.


You can pick up an iPhone 5c on eBay for under $150.


The playground looks pretty cool but I kind of second this. I recently built something for an iPad (ad-hoc install for a client on a single device). Never developed anything in the Apple ecosystem. XCode was surprisingly stubborn and it seemed very non-rapid to set everything up. The build process was also kind of slow. Since it was a Unity Engine based up I ended up building and testing everything on Android and only pushing the final product to the iPad (and testing it on that device obviously).

For these learning environments it would be pretty awesome if there was a simple way to share the actual app. At least it seems they make it easy to share the code and a video which is a decent start.


>and then hopefully, just maybe XCode will allow you to run what you wrote?

Yeah, it's so difficult that App Store only has about 1.5 million apps -- merely the largest in the world...

Either those belong to a REALLY determined million of devs, or it's not that hard really...


For what it's worth, this is a problem they (said) they addressed in latest Xcode. We'll see how that turns out in practice I guess.


I have a large complex project in XCode. (It's this: http://macdaddy.io/mac-backup-software)

It looks simple but it's actually about 6 different programs all stuck together.

Codesigning breaks on it periodically, and it takes days to fix.

XCode 8 has just broken this worse than any other XCode version in history. It seems to have done so by trying to automate all its requirements. So now it outputs broken bundles when I compile it. This has taken me all of today, and I'll be surprised if I have it working within the next 6 hours of work.

This is a fairly typical experience of using XCode for me. Many times getting codesigning working correctly and getting it working within the mac app store parameters takes more time than writing the code.

In short: Using XCode is harder than programming.


Please report this issue at http://bugreport.apple.com along with sysdiagnose, we'd love to take a look. Please include project as well if possible.


You can never, ever, just upgrade Xcode (or anything important, really) on a production Mac. Xcode, especially, needs to be installed on a sandbox machine first where it can destroy anything it wants. It's an effort, but still better than having production explode in your face.


That's probably a good approach. Still, when my certificates expire (which makes the provisioning profiles invalid), that alone will take hours or days to fix. So even if it's left in a completely untouched environment certificates expire after a year or two and I cannot recompile the project without a lot of work.


Please report this issue at http://bugreport.apple.com along with sysdiagnose, we'd love to take a look. Please include project as well if possible.


Maybe you need to refactor your application instead, to make it more like how xcode expects applications to be structured?


It's all using Apple endorsed formats. It's just using an awful lot of them. But it's all exactly how it's supposed to be. But because it's using a daemon, a Finder extension, command line interface apps, etc, they all have their own provisioning profiles and they all have to be codesigned in their own ways. Which is what makes it tricky.


They’ve been fixing this issue with every release of Xcode and it’s still broken. At some point we must realize that code-signing is something that the Xcode team will never be able to get working reliably due to incompetence or apathy (or both).


With automatic provisioning/specific profile mode, they definitely removed a lot of the sharp edges when it comes to provisioning, but they also removed all of the flexibility. It definitely feels like Xcode on training wheels with no option to remove them unless you rely on a now deprecated feature set.


Probably not.


But mobile is the future!

(Where nobody can create anything.)


No no it is easy to create stuff. Less easy to actually run it on your hardware though :-)


Ipad is also a mobile device though.


And also not exactly good for creating (though arguably things could be made better for tablets with improved software and less idiocy like abstracting away the filesystem).


My iPad Prod is Fantastic for creation. It's a far better drawing/art tool unless I spend another $1k+ on a cintiq, it's a great video editor, really good music editor, and I even code on it a ton. It's without a doubt my favorite device. I have a surface pro 4, macbook pro, iphone 6 plus (soon a 7 plus), and my iPad Pro 12.9 in regular usage. I need all of them but for notes and art creation the iPad is the hardest to replace.


Interesting... you're one of the only people "in the wild" I have heard say this.

I've long been of the opinion based on what I've seen and personally found that mobile (including also most tablets) is basically worthless for anything but consumption and casual communication, with a comment or photo being the limit of their creative potential. If I want to really make something I want more I/O bandwidth and a "real OS" where my data can be mine.

Even less charitably I've seen the whole platform as one big dark pattern designed to turn users into passive consumers that can be transparently surveiled.


It's totally based on the software you use on it. Some examples of great creative software I enjoy:

Procreate http://procreate.si/

PINNACLE STUDIO PRO http://www.pinnaclesys.com/PublicSite/us/Products/studio/ipa...

Continuous http://continuous.codes/

Coda https://panic.com/coda-ios/

Adobe Sketchbook Pro https://www.sketchbook.com/?locale=en

iMovie

Swift Playgrounds (has full access to iOS libs) http://www.apple.com/swift/playgrounds/

garageband

amplitube http://www.ikmultimedia.com/products/amplitubeios/

Djay pro https://www.algoriddim.com/djay-pro-ipad

frame.io https://www.frame.io/

ulysses http://www.ulyssesapp.com/

Auxy http://auxy.co/

There are a bunch of others but those are my favorites/ones I've used in the past. I've been able to create full game prototypes all on my iPad. In fact the next game jam I do may just use my iPad. Pair it with a dropbox account and fast internet and I can handle almost anything a computer can, though admittedly it's limited in a lot of cases. Still can't do full releasable app builds on device for example.


I find mine fantastic for creating, it just depends what you want to create. A few days ago I got a programming assignment and wrote half of it in Pythonista on my phone on the train going home. I play roleplaying games and wrote up 95% of my current campaign notes, rules and reference sheets on my iPad. My daughter sketches on it with the pencil and uses it as a digitiser with the Mac. These things are fantastic creation devices.

Sure, some people don't like onscreen keyboards and such, but everybody has their preferences and comfort zones especially when it comes to creative activities. It's a very personal activity. But at this stage unequivocally saying mobile devices are not good for creating is just plain flat out provably false.


Tablets are not exclusive to Apple though. But in all seriousness I don't know anyone using a Microsoft Surface as a tablet except for maybe watching a movie.


For anyone looking to get started on iOS programming Apple has released a free interactive iBooks book called "App Development with Swift" https://itunes.apple.com/in/book/app-development-with-swift/...

Here is a report of someone using that book to get started, https://hackernoon.com/i-develop-therefore-i-am-b501e2a10277...


Does this support VoiceOver and some sort of Sound API?

I occasionally teach blind kids programming. Sometimes it takes an hour to just navigate them through an unfamiliar setup with a screen reader. If this can be used by a blind person, it could be a game changer.


VoiceOver: yes, as reported in this article: http://mashable.com/2016/07/10/apple-innovation-blind-engine...

> [Jordyn Castor] was a driving force behind accessibility on Apple's soon-to-be released Swift Playgrounds, an intro-to-coding program geared toward children. She's been working to make the program accessible to blind children, who have been waiting a long time for the tool, she says.


Does anyone know if Playgrounds for iPad is compiling code with LLVM behind the scenes or if they have written an interpreter?


compiling as usual. You have access to everything on iPad, it's acutally very powerful even for developers.


I'm pretty sure they said it was running LLVM at some point


I am surprised it was not included with iOS 10 and had to be downloaded separately. It was part of it until beta 8


It would easily be as popular as the Stocks app and the U2 album.


which you can finally delete:)


You're not really deleting it. You are just removing it from your home screen.


I think it'd be really cool if it were included, but it'd take up a decent chunk of storage (App Store shows 268 MB), which would be a bummer for people on 16GB iPads.


The URL says it is still in Preview so perhaps some issue that prevented it going out with the GM.

Hopefully will come as part of a later update. It is such a great opportunity for Apple.


Hopefully it is because they want to update it often.


I want a language + ide + (hosting/compiler) combo that's as easy to use as BASIC was back in the day. and scales all the way up from kids' apps to enterprise.


This looks so similar to Lightbot that I wonder if it's the same game just with updated graphics and characters and stuff.. and of course all the swift code


Just curious, why does it need iOS 10?


There are some OS-level features to support running arbitrary code in additional sandboxed processes.


Does this mean that web browser apps will be able to use their own JS engines etc. ?


How are they going to make you buy shiny new iPads otherwise?

Edit: Why the downvote? I still have an iPad mini (1st gen), and I don't get to play with Swift Playground because iOS 10 requires iPad mini 2 or newer. Look, I'm as much an Apple fanboy as the next person: I use a MacBook Pro, I have an iPhone 6s Plus, and my wife will be getting an iPhone 7 Plus, but you can't deny that Apple, just like other companies, build arbitrary obsolescence into their products.


Even if you want to be cynical, the far more important strategic value in this is in developing more developers for their platform long-term. They wouldn't compromise that for the purpose of marginally more device sales.


That's a sensible argument. I can neither agree nor rebute until I get to play with Swift Playground. I can borrow my mom's shinier iPad Air when I see her. It'll all depend on how Swift Playground plays and feels. For example, there are some questions that will help me decide whether I'm being too cynical: will Swift Playground be only suitable for teaching kids or will it be good for advanced adult programmers coming from other programming languages as well? How much of Apple-specific API will it introduce, if at all?


I've been using Swift Playgrounds on my iPad Air since the second iOS10 beta. It's been really stable, plays well with my bluetooth keyboard and the error feedback on it is excellent. My wish list for the next version would include (a) the ability to create and edit files in *.playground/Sources and (b) a project navigator view to let me move assets around the folders inside a Playground or Playground Book on the device. That said, it's a great tool for education as well as prototyping.


Why the downvotes? Your comment was low-grade snarky flamebait and and added very little to the discussion.

(And furthermore the 3-year-old iPad mini 2 is probably stretching the definition of "shiny new"...)


iPad Mini 2 has 1 GB of RAM where the original had half as much. Typically Apple has only deprecated old iOS device models from new OS support due to hardware requirements.


The mini 2 is also a 64 bit processor, basically a shrunken ipad Air or 5s, where the mini 1 was a shrunken ipad 2.

They're completely different machines in practice.


Apple can't win here though.

If they allow an iOS version to be compatible with an under powered device that can barely run it they'll get criticized for slowing down older machines or even accused of deliberately crippling them down to force upgrades.

If they don't allow new iOS versions to run on older machines with lower specs, they get accused of deliberately deprecating older models to force upgrades.


Yeah. They wound up selling the iPad2/mini1 guts far longer than I would have thought smart. My iPad2 was feeling long in the tooth well before it stopped being sold new. (And I'm not the most demanding iOS user).


iOS 10 will run on the shiny iPad you already have. All the way back to the iPad 2, IIRC.


Hope so, but Swift Playgrounds isn't compatible with iPad 2.


No, you're right, iPad mini 2 appears to be the hardware floor for Playgrounds - I can never keep the iPad SKUs straight. IIRC (and I may not, see above) that the 2 was the last 32 bit big shiny rectangle. But the point is there are multiple generations of existing devices that will run Swift Playgrounds.


ACPU Studio is powerful development platform on mobiles with Livecoding. True IDE, built near to Bret Victor & Eve principles.

https://www.youtube.com/watch?v=CAcv12eBqcc

Another sample: use Xcode on iPad for publish to AppStore remotely.

http://acpul.tumblr.com/image/116464494150

Coming soon...


Have any of these kid targeted development products ever been highly successful?

I've seen dozens of attempts but they all seem to fizzle pretty quickly.


It would've been nice to see some kind of animation on the code itself during the run, showing which commands it has completed.


Wow, this looks cool and very complete, the must have put quite some effort in this. I've been 'stuck' on Objective-C for a while now, knowing I should 'keep up' and learn Swift. This could be a nice, fun way to pick up Swift in my 'spare' time.


I don't think your use of quotation marks adds anything.


The same could be said for your comment. (And mine too...)


Not as exciting as AIDE I have 2 apps on Google play with over 20 thousand users both of them built in AIDE with a combination of Java and C++ right on my android device.


However I'm holding out hope that iOS will become self hosting like Android this is a step towards iOS xcode in the future.


Second this. Keeps me going on long hauls. It is definitely fine to build prototypes and the bases for products on my phone with.


Is Swift Playgrounds' code itself open source?


unfortunately it is not open source... But they opened sourced Swift Playground Support http://ericasadun.com/2016/07/07/apple-open-sources-swift-pl...


> unfortunately it is not open source

Indeed, that's a shame, what better example than open sourcing the tool used to teach the language...


Doesn't work on iPad 4 :(


If you want to learn how to code, get a desktop with Ubuntu on it. And start with C++.


And what GUI libraries would you recommend? Out of interest!


Found this whole project woefully disappointing considering Bret Victor used to work there.


I hate iPad exclusivity. Like I get it, the content is better consumed on a bigger screen and you might be taking advantage of the better hw but maybe let me check it out and decide for myself if I'm willing to buy an iPad for the full experience.


They wanted to make an app for introducing kids to programming. There are already plenty of tutorials on the web, to run on a computer. A web-app or iPhone app would not have had a good enough UI and they probably don't have enough Android developers to make it work well on all Android devices.

Apple doesn't have unlimited people to assign to this project. They chose a platform where they can focus on providing the best experience for. Why complain?


Also, this a free app that increases the usefulness of existing iPads already in schools etc.


There's really nothing stopping any of us from building a Swift Tutorial app on Android. I'm sure it's already been done, actually. But why would Apple want to do it?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: