16 ms·
CS193p: Developing Apps for iOS
- emptyparadise 6y agoI could've sworn that a lot of Stanford iOS courses were already on iTunes U.
- Austin_Conlon 6y agoIt’s in the Podcasts app now since iTunes U is discontinued.
- bori5 6y agoI don’t see this one, but do see earlier ones dated 2010
- lwigo 6y agoCan't wait to see all the same apps popping up on GitHub.
- omarhaneef 6y agoHaven't there been free iphone dev courses from stanford for free for over a decade? I recall iTunesU hosting them, and perhaps Coursera/EdX, and their own website etc. Which is great, of course, but is this different?
- iscrewyou 6y agoFrom the article: “ Stanford has made these lecture videos available to all by posting them on its YouTube channel (links below). This website was set up to give everyone access to the supporting material that was distributed to students during the quarter (homework, demo code, etc.).”
- bredren 6y agoYes. I went through the course in one it’s earliest releases. I’m not sure if all of the assignments were posted then, and the site wasn’t as good.
- herbturbo 6y agoYes I learned iPhone development in 2010 by watching Stanford's CS193P course on iTunesU
- dang 6y agoThanks—I've changed the title now. Submitted title was "Stanford Makes iPhone Development Course Free". Submitters: "Please use the original title, unless it is misleading or linkbait; don't editorialize." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- randomifcpfan 6y agoOld news? These excellent videos have been posted on Stanford’s YouTube channel for 8 months: https://youtube.com/playlist?list=PLpGHT1n4-mAtTj9oywMWoBx0dCGd51_yG https://youtube.com/playlist?list=PLpGHT1n4-mAtTj9oywMWoBx0d...
- rudedogg 6y agoYeah these have always been free. I got excited thinking maybe it was a more recent class being published, but it’s not. Anyway, they’re good!
- randomifcpfan 6y agoOh, I see. The new news is that the course materials other than the videos have now been posted.
- chewmieser 6y agoI learned iOS development from their courses on iTunes U many years ago now... Good that they're continuing with it though. Edit: here's one source from 2011 - https://news.stanford.edu/news/2011/november/itunes-apps-class-111511.html https://news.stanford.edu/news/2011/november/itunes-apps-cla...
- newbie578 6y agoOff topic, but looking at the curriculum of the course and the more I read about native development, the more I love Flutter. There are so many barriers to entry for native development, to develop and publish a simple app is such a complex procedure that I respect anyone even trying to go Native first without any prior knowledge. Flutter on the other hand, is a pure joy. Almost anything you need UI-wise is prepared, and you can just customize it the way you want (try implementing a ListView in native vs Flutter). For the big majority of today's apps native is just not neccessary, most apps don't need bluetooth access or some other specific service. Especially from the business side, Flutter is way better. You need to maintain only one codebase which results in less need for resources. And you are way faster, you can iterate like crazy and push out an MVP... And when stable Flutter Web arrived, it is game over...
- triztian 6y agoAs an iOS engineer with native and flutter experience, not needing access to hardware and OS specific APIs is a BIG assumption, I used to not need access until I needed them and it was somewhat painful most of the time, either support was not there how we needed it or some APIs were awkward to use. I'd also say that the write once support on all devices is definitely not a 100% thing. There is definitely a lot of tweaking for adding support to specific platforms and devices (think iPad vs iPhone vs Android Phone vs Android Tablet). I've also found it that its a lot easier (when compared to native development) to create code that needs to be heavily refactored out when adding support for additional devices while also making sure to not braking things on other platforms. This last point complicates development because then you are forced to be familiar on how to test and debug on each platform, making sure that changes or issues fixed on a specific one don't break the other ones; this for sure adds a ton of development and testing time, specially when you go beyond just android phones and iPhones. Where flutter has shined for us though has been for internal tools that we deploy and for which the UI is not designer-driven or that don't have stringent design and performance requirements. Now don't get me wrong; I'm well invested in flutter but it does not come without its compromises, specially on iOS being second in line support after Android. It definitely gets you quicker to market with an MVP on more platforms compared to pure native development.
- ABeeSea 6y agoLooking at the slides, this course is based on SwitftUI which only came out in the last year or two while previous versions used UIkit.
- rangoon626 6y agoExactly! This is the best resource on SwiftUI I have found yet!
- elliekelly 6y agoSince this is posted here I'll ask a question that has been bugging me for the last year: Who does the captions on these YouTube videos? Is it automated? I ask because every CS193p video starts with the same opening scene/music and the caption describing the music is different on every single one. Is this an auto-caption algorithm just getting it wrong? Or is there a person having fun behind the scenes waiting for someone like me to notice and spend an irrational amount of time wondering what happened? I feel like it has to be a person, right? YouTube's captioning wouldn't give 12 different results. Edit- For anyone curious, here's how the music is described in the captions at the beginning of each lecture: 1. regal music 2. mellow ambient music 3. light music 4. gentle music 5. air whooshing 6. gentle music (turns out there is one repeat) 7. peaceful music 8. [no description] 9. ethereal music 10. celestial music 11. serene music 12. dramatic music
- unculture 6y agoI have a feeling that there is a chance that this comment has made some anonymous subtitle transcriber with a sense of humour very happy.
- izacus 6y agoThe YT automatic captions are marked as such and are usually easily distinguishable because the subtitles appear word-by-word instead of whole lines at once. My guess is that those are manual.
- mikepurvis 6y agoMy partner worked for a bit as a transcriber on Rev, which I believe is the source for a bunch of these— they have a turnkey option for "caption Youtube video X": https://www.rev.com/ https://www.rev.com/
- deleted 6y ago[deleted]
- pokx 6y agoGiven the precision of things like ponctuation, and certain words like ViewModel being correclty spelled (instead of "view model" for example), those captions are probably manually edited.
- iruoy 6y agoI'm sure this is great content, but the usage of Comic Sans for the slides really brings that first impression down.
- rangoon626 6y agoThere is something funny about it being an Apple centric course that is using comic sans
- nightcracker 6y agoFor what it's worth Comic Sans supposedly is an excellent font for dyslexic people. So at the cost of looking professional your content becomes available for more people (or that's what some believe - I don't know of any peer-reviewed study on its readability).
- ludwigvan 6y agoI don't think it is Comic Sans. Probably Chalkboard: https://en.wikipedia.org/wiki/Chalkboard_(typeface) https://en.wikipedia.org/wiki/Chalkboard_(typeface) http://www.identifont.com/differences?first=Chalkboard&second=Comic+Sans http://www.identifont.com/differences?first=Chalkboard&secon... If you want to see a prominent Computer Scientist using Comic Sans, you need to watch Haskell creator Simon Peyton Jones' talks: https://www.reddit.com/r/haskell/comments/1bd1ia/spj_and_comic_sans/ https://www.reddit.com/r/haskell/comments/1bd1ia/spj_and_com...
- LegitShady 6y agoI'm assuming you need a Mac computer to develop ios applications? I have an iphone and ipad but I won't purchase their computers.
- mikestew 6y agoTechnically, no; my first App Store release lo those many years ago was developed using a Hackintosh. That was like ten years ago, though, so maybe something has changed that requires, say, the Secure Enclave or something.
- wing-_-nuts 6y agoI wonder how macs move to custom chips will impact the hackentosh community going forward. I can see the day when intel is simply no longer supported as a platform.
- rdsnsca 6y agoApple Silicon will kill the hackentosh. I expect Intel to have 5 years of support left, based on the PPC to Intel shift. One more system upgrade then 3 years of security updates.
- wing-_-nuts 6y agoMaybe by then mac hardware won't be required to write ios apps? That's always felt rather monopolistic to me. It would be like MS refusing to deploy anything that wasn't written on a surface, or google refusing gcp deployments from anything but a chrome book.
- mikestew 6y agoThat's always felt rather monopolistic to me. It always felt like a smaller company that didn't want to support multiple operating systems. But Apple's not all that small anymore, right? Well, the fallback to that argument is the long-standing habit of pretending other systems don't exist (Mac vs. PC commmercials notwithstanding). Best I recall, one will rarely (if ever) hear Apple comparing, say, iOS to Android. Nope, it's just "iOS is awesome, and here's why". Given that, why port your dev tools to a system that you'd rather pretend didn't exist in the first place?
- divtiwari 6y agoIs there an Android equivalent of such a course? CS193A doesn't have official videos and resources like this one. Any other university course?
- dont__panic 6y agoAlso interested in this. I've explored a few Android courses, but most online content I've tried so far hasn't really given me the "college lecture" vibe that I'm looking for.
- IG_Semmelweiss 6y agoIm also interested in this as well
- MichaelMoser123 6y agoHas anyone succeded to make a living from app purchases? I am really interested to follow up on it, just dont know if it will be. enough to cover my frigging expenses. (Main question is: How much is left after all the other guys get their due)
- armadsen 6y agoMy full time job as an iOS developer is for a company that makes 100% of its income from app purchases. Mostly up front (our app is a plain old paid app), but we do have a couple in app purchases for optional extra "pro" features. That was true of my last developer job too, where I was (primarily) a Mac developer. There, most of our sales were direct, ie. not on the Mac App Store (we did have some MAS income). That said, it's pretty hard to become successful through app store sales alone, and you definitely can't rely solely on the app store to do your marketing, promotion, etc. The app store is a distribution channel, and if you get lucky, you can get promotional value out of it, particularly if Apple features your app, but it doesn't replace traditional marketing strategies.
- UK-Al05 6y agoI think in the early days it used to be common...
- kardos 6y agoIs it weird that a /university/ is offering this course on how to work with a specific commercial product? Shouldn't this be the domain of Apple itself or a company that specialises in training?
- JCharante 6y agoMy university has been offering seminars on how to use Matlab for years. They also offer a course on getting you proficient in SolidWorks. I get your point that it should be offered by a company that specializes in training, but it's nice when universities go beyond pure theoretical concepts and teach things that can be used for side-projects.
- armadsen 6y agoI'll go a step further. When I was in college, as an electrical engineering major, we were required to take a Matlab course in our first year. Matlab was used fairly heavily in courses where it was useful throughout the rest of my major.
- mhh__ 6y agoMatlab code is still not the same as writing Apps for a locked in ecosystem - The company that owns matlab wants matlab everywhere, Apple wants everywhere to be in iOS
- bredren 6y agoApple has a lot of programming related courses and tools. The docs, and their relative quality has been discussed a lot here. But in general universities have been teaching the tools of specific industries for a long time. Sometimes entire departments or buildings are sponsored by specific companies or programs underwritten as “industry-academic partnerships” when the research aims are aligned with strategic goals of a particular company. For example, Oregon State University’s College of Forestry has a Tallwood Design Institute: “Its core tenets are the importance of industry collaboration, through outreach, education and feedback from professionals.” So, teaching a particular framework may be more explicit, but it isn’t unusual activity. http://blogs.oregonstate.edu/collegeofforestry/2019/04/09/tallwood-design-institute-building-the-future/ http://blogs.oregonstate.edu/collegeofforestry/2019/04/09/ta...
- amelius 6y agoLesson 1: do exactly as Apple tells you. Don't try to build your own web engine. And don't write apps that are not suitable for children.
- ffggvv 6y agothis was always free. when i first learned ios development like 5+ years ago i took this course on youtube
- amatecha 6y agoI guess the significant part now is that it's the latest Spring 2020 version of the course that's now available for free? Pretty cool!
- Me1000 6y agoYeah, it seems like they make this course free a lot. I remember almost 10 years ago watching Evan Doll instruct this class. I think I watched it as a video podcast at the time. To be fair, I'm sure the course changes from year to year.
- yardie 6y agoDid this course almost a decade ago when it was ObjC based. Never really pursued iOS development (a big mistake on my part) but with Swift and SwiftUI I'm game to give it another try.
- balls187 6y agoI was an ios dev via Objective-C in another life. Swift and SwiftUI is such a fundamental shift in experience for the better. There are a few esoteric things based on full interoperability with ObjectiveC and the cocoa API's, but for most apps, it's really straight forward.
- fattypouch 6y agoI've always wondered about Open Courses... do students get mad when a course they paid for is published for free on Youtube?
- guilhermetk 6y agoA big shout out to Paul Hegarty, one of the best teachers I've ever had, even though I've only attended his online classes.
- williesleg 6y agoI guess they need more developers, eh? Nice job Tim Apple!
- mrweasel 6y agoDoes anyone know of a good course to get started on AppleTV development? I've tried getting started with a small hobby project multiple times, and I get something working, but the documentation I can find doesn't really help you get into more advanced stuff.
- ru552 6y agoThe course linked here is a good one. It teaches SwiftUI and Swift which are what you will use to develop on AppleTV.
- randomifcpfan 6y agoTvOS is 90% the same as iOS, and has almost no viable application market besides video streaming apps. Unfortunately that means there are almost no docs or classes on programming it. The occasional WWDC presentation is all there is.
- fuadnafiz98 6y agoI don't have a mac, why is it to be so hard for someone like me to learn ios development :(
- slipper1 6y agoThis is by design to gatekeep only rich people. For the rich, by the rich, of the rich.
- ru552 6y agoThis is a pretty dramatic take. You can get a brand new mac mini with an M1 for <$1000. The price drops significantly (<$500) if you get a refurb or pick up a used one on ebay. $500 may still be a lot of money, but it's not "rich" money.
- ornornor 6y agoIt is quite a hassle indeed. As far as I know, you need: - a Mac (with a recent enough version of Mac OS) - an iPhone with a recent enough iOS - a 99$/year (iirc) Apple developer account These things might be a given for people in SV but it’s quite a big upfront cost for most people outside of HCOL areas. Unless I’m mistaken and you can do without a Mac? But I seem to recall you need to use iCode (or whatever apple’s IDE is called ;)
- ru552 6y agoThe GP's question was about learning IOS dev. For that, you only need the Mac. There is a simulator built in to Mac dev tools so you don't have to have an iphone. The developer account also isn't needed to learn. You only need the $99/year account to publish apps to the app store.
- otachack 6y agoI think you also need the dev account if you want to run apps on a physical phone, but it's been awhile since I tried.
- jb1991 6y agoHasn’t this always been free? I’ve taken it twice in the past for free. When it was on iTunes University.
- Audiophilip 6y agoThe title is misleading, the lecture videos and materials for that course have always been publicly available.
- jonas21 6y agoI'm so glad that Paul Hegarty is teaching this. Not only does he know the material through experience (I think he was an early employee at NeXT and continued on at Apple), he also explains things really well and works through lots of examples. It's also clear that he enjoys teaching the course, which makes a big difference. I watched an earlier iteration of the course, and it's the reason I know iOS development today. I don't often write reviews (and certainly not on HN), but I absolutely have to recommended this course for anyone interested in learning mobile development.
- Austin_Conlon 6y agoMinor nitpick, he was a VP at NeXT but not early on and didn’t go to Apple.
- GekkePrutser 6y agoHmmm nice! I did this years ago when it was called "Coding Together". Was a really good course! PS: It was free even then (same course number and everything) so not sure what's changed here :)
- dfabulich 6y agoThe submitted title of this page ("Stanford Makes iPhone Development Course Free") is misleading, and should just be the title of the page, "Stanford CS193p - Developing Apps for iOS." Stanford's iPhone development course has been free online for more than 10 years.
- dang 6y agoThanks! Fixed now.
- aero- 6y agoWhat would be an advantage going for swiftui vs. React Native for a startup? I feel like the cross platform nature of React would be more beneficial for starting a new platform or business. Of course swift will operate better for ios but is the tradeoff that great with React Native?
- reasonabl_human 6y agoInterested as well. I’ve heard a number of tech companies use react native on iOS targets which allows for easy reuse of components developed for web UI, and any mobile... certainly where I’d lean given the choice based on current information. There was an engineering blog post from discord a number of months ago discussing their use of react native bottlenecking iOS app performance, and they ended up converting some key react data structures to native iOS constructs within the react native app and crushed those bottlenecks. My takeaway was that developer ease and reusability should be prioritized until you hit a performance wall at scale such as discord did, at which point you’ll have the money to pay other engineers to optimize the important parts of you don’t have the time or know-how ;)
- saagarjha 6y agoFor a more balanced measure of Discord's performance, try using it on a five-year old iPhone.
- reasonabl_human 6y agoAFAIK that was the device subset they were optimizing for, I have an iPhone SE lying around so I’ll try it out.
- jamil7 6y agoThe advice I give roughly to clients is to go native if your business heavily depends on mobile. Otherwise React Native is pretty viable, especially for small teams of generalists. In terms of SwiftUI, most businesses aren’t building entire apps in it yet.
- 6y ago
- sylens 6y agoHas anyone dipped their toe into this course at all? I wrote a very, very simple Android app several years back and have been intrigued by iOS development since the introduction of SwiftUI, but I'm not sure if there is material I should be familiar with before attempting this
- avipars 6y agoI took the swift course a few years ago. This is great for beginners and not bad for android developers either
- roperzh 6y agoA lot of people are mentioning that this is old news, but that's not the case for me: thanks for sharing!
- totaldude87 6y agoi always admire the fact how the professors who teach professionally, ease us into things while many youtubers struggle to do so. Its not all about what you know, its more about how the other person ..
- wly_cdgr 6y agoIt all looks trivial until you actually start building
- frsandstone 6y agoI kickstarted my career 8 years ago by going through an old version of this course online. Huge props to Stanford for making it more easily consumable by others.
- steve_taylor 6y agoPaul Hegarty does a great job of refreshing this course every year so students are taught Apple’s latest tech even when the old stuff isn’t deprecated. I’ve been coming back to CS193p lectures for years and they’re always up to date.
- oflannabhra 6y agoI don’t do iOS development anymore, but I did cs193p almost a decade ago, when it was on iTunesU and taught by Paul Hegarty. It unlocked a lot of job opportunities for me, and I’m still grateful to this day.
- avthar 6y agoWish we had classes like this back when I was doing my CS degree. Not saying that algos/ theoretical / systems stuff isn't valuable, but if you want to build anything that reaches real customers, then knowing how to build for the Apple Ecosystem is essential!
- logbiscuitswave 6y agoThis is really good stuff! I’ve found much of Apple’s documentation on how to use SwiftUI to show samples without really explaining how they work or why they are the way they are. I’ve only spent a few minutes skimming through the slides for this course but I already feel smarter than I was after spending hours slogging through Apple’s docs and samples.
- semireg 6y agoI credit my success as a mobile app dev consultant to Stanford’s iOS videos back when iTunes U was a thing (2012). I will have to watch these because damn if I don’t have a ton of questions about SwiftUI architecture best practices. Pro-tip: watch these at 2x speed.
- 35post 6y agoOT: I recently tried to get some vim binds working on the latest Xcode and it's impossible. People got it working on prior versions but now, it's seem to be over. How are people developing with Xcode who prefer vim binds?
- inamorty 6y agoHave you looked at Appcode? I haven't used the IdeaVim plugin myself but it might be worth a go.