Live data from Hacker News

CS193p: Developing Apps for iOS

cs193p.sites.stanford.edu

161–170 of 174 posts

Re: CS193p: Developing Apps for iOS

#161
post #115

Earlier quoted context omitted.

> You can't really teach "mobile engineering" in abstract like you can with databases or computer vision or whatever. Sure you could. "mobile engineering" would just be a study of solving computer science problems with relatively low resources, a finite amount of power, etc. You don't need to make iOS/Android apps to study this. Many lessons I've learned while solving problems on mobile apps can be easily transferred…

What low-resources device are you going to actually program though?

I’m sure there’s a lot of sun sparc machines in a closet in a computer lab that has less ram and cpu power than today’s iPhones. 1/2 joking, 1/2 truth.

It’s client/server, no need to be specifically mobile phone as a course.

I do agree about practical hands-on training is like riding a bike; just ride it to know how.

Re: CS193p: Developing Apps for iOS

#162

Off 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,…

Have you used Flutter web? It performs extremely poorly and is completely inaccessible.

Re: CS193p: Developing Apps for iOS

#163

I'm assuming you need a Mac computer to develop ios applications? I have an iphone and ipad but I won't purchase their computers.

It's also possible to use darling on linux to develop for iOS. Very unsupported and unofficial path though. That said I hate iOS and Android development with passion. Both have managed to lock their development ecosystem in big clunky monolith IDEs and every cross-platform development solution has to deploy ugly hacks to make things work (they still don't and the whole thing comes crashing down very easily).

Re: CS193p: Developing Apps for iOS

#164
OT: 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?

Re: CS193p: Developing Apps for iOS

#165
post #74
post #29

Is 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?

Huh. Lots of different perspectives out there... - Is it weird that there's barely any training of practical software engineering in a university setting as it is, and now this question posits that one of the great durable examples of such a course is somehow against the norm? - Is it weird that a community would train someone in methods and concepts using the technologies invented up the street? - Is it weird to thi…

Your comment includes its precise reply: "training".

Universities are not for training. Schools are for that. Institutes are for that. Whatever.

Universities are for knowledge, science, truth. Not "training".

And yes, I am aware that the above makes medicine mostly a school thing (except for the academic aspect).

But of course, things change.

Re: CS193p: Developing Apps for iOS

#166
post #164

OT: 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?

Have you looked at Appcode? I haven't used the IdeaVim plugin myself but it might be worth a go.

Re: CS193p: Developing Apps for iOS

#167

I don't have a mac, why is it to be so hard for someone like me to learn ios development :(

It 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…

It's possible to build iOS binaries without a mac but you have to collect a bunch of the tools yourself since Apple has made it illegal to distribute them. Of course you can't actually get the app installed on your phone without sending it to apple first (this is what eg cydia impactor does.)

IMO: that whole platform is so extremely user/developer hostile it's better to just avoid it entirely unless someone is paying you to work on it.

Re: CS193p: Developing Apps for iOS

#168
post #74

Earlier quoted context omitted.

Huh. Lots of different perspectives out there... - Is it weird that there's barely any training of practical software engineering in a university setting as it is, and now this question posits that one of the great durable examples of such a course is somehow against the norm? - Is it weird that a community would train someone in methods and concepts using the technologies invented up the street? - Is it weird to thi…

It depends what you expect from your education. I'd personally expect a university to focus on the academic side of computer science rather than teaching typical practical "busywork". The theory is what I expect to count in a university, the practice is just a nice side effect for testing the theory. Others expect a university to just teach you how to be a software dev as best as possible. I don't believe that Apple…

So if not Apple's platform, which platform would be a better pedagogical platform for education in mobile programming?

I am not aware of a mobile OS that exists for an optimal pedagogical experience. Or a set of programming languages and libraries that exist for pedagogically optimal exploration. Your choices are basically Android/Kotlin or Apple/iOS. I do both. It's not obvious to me that either is a great "leading to code" environment. Your comment about Apple docs up to dates was... I find figuring out Google's Android APIs much more difficult and it's a huge flux between what's trending cool and what will actually run on a given device.

As an educator, I would guess that having more consistency betwixt student devices would be a big win. Apple definitely wins here.

What may have decided it though was the student body's more common device. If more students were packing iPhones than droids, then it makes sense for that to be your text.

Re: CS193p: Developing Apps for iOS

#169

Earlier quoted context omitted.

It depends what you expect from your education. I'd personally expect a university to focus on the academic side of computer science rather than teaching typical practical "busywork". The theory is what I expect to count in a university, the practice is just a nice side effect for testing the theory. Others expect a university to just teach you how to be a software dev as best as possible. I don't believe that Apple…

So if not Apple's platform, which platform would be a better pedagogical platform for education in mobile programming? I am not aware of a mobile OS that exists for an optimal pedagogical experience. Or a set of programming languages and libraries that exist for pedagogically optimal exploration. Your choices are basically Android/Kotlin or Apple/iOS. I do both. It's not obvious to me that either is a great "leading…

I'm personally more in favour of supporting Android development in a teaching environment for one simple reason: you don't need a Chromebook to develop for Android, but you do need a Mac to develop for iOS. Even if you own an iPhone, running an Android emulator is free and easy. If you own an Android, there's no way to run a simulated iPhone without more accompanying hardware. If you've purchased a Windows-based laptop at the start of your education, you're basically locked out of the iOS course unless you borrow someone else's Macbook or start messing with horrible virtual machine solutions that violate the EULA.

I don't even think for a second that Google's docs are any better than Apple's. In fact, I think they're much worse. What I intended to convey with that paragraph is that I don't think that Apple should be the educator that teaches people to code for mobile.

I haven't kept up with Android's new APIs but I do know that Android is great for backwards compatibility. If you know the basics for Android, you can adapt to whatever fancy framework Google pumps out this year quite fast, or you can choose to stick to the "traditional" API that'll always be supported. Normal apps can do just fine without even some of the older stuff like fragments. Whatever Google is doing, is not necessarily the best way to develop code for their platforms.

Re: CS193p: Developing Apps for iOS

#170

Earlier quoted context omitted.

So if not Apple's platform, which platform would be a better pedagogical platform for education in mobile programming? I am not aware of a mobile OS that exists for an optimal pedagogical experience. Or a set of programming languages and libraries that exist for pedagogically optimal exploration. Your choices are basically Android/Kotlin or Apple/iOS. I do both. It's not obvious to me that either is a great "leading…

I'm personally more in favour of supporting Android development in a teaching environment for one simple reason: you don't need a Chromebook to develop for Android, but you do need a Mac to develop for iOS. Even if you own an iPhone, running an Android emulator is free and easy. If you own an Android, there's no way to run a simulated iPhone without more accompanying hardware. If you've purchased a Windows-based lapt…

I second that. And there is even Flutter [1] which works similarly to SwiftUI and is multi-platform.

[1] https://flutter.dev/

Post reply on HN