Live data from Hacker News

Ask HN: Is it worth switching from web development to native iOS dev?

news.ycombinator.com

41–50 of 68 posts

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#41
In general, I think that having knowledge of multiple different tech stacks is good. The IT industry is constantly changing and evolving, and learning to evolve and change is good.

Also, you might want to take a look at Flutter. It's a new(ish) cross-platform mobile development framework from Google. It seems to be getting some traction, and allows you to write truly cross-platform mobile apps. There are other cross-platform mobile frameworks (React Native, ...), but Flutter seems to be gaining momentum.

Anyhow, if you are interested in mobile development, give it a try! It's not you are locked into your choice for life...

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#42
post #39
post #37

Earlier quoted context omitted.

> - Every year a new version comes out that requires developers to fix bugs and sometimes adopt new technology. this is a huge bug in the ecosystem from a user perspective as you have to continue paying to keep your software working.

I wish upgrades were easier on the iOS side, but in some instances users are demanding new features. Take for example split screen on the iPad. I takes time to figure out what your interface should look like in different dimensions. I am not sure what Apple could have done about that in advance. Upgrades on the web take time and resources too. So I don't think this is unique to iOS.

I guess it is a general software problem. Breaking changes in the platform forces developer to put effort into keeping application functioning and that needs to be paid for somehow

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#43
If you have front-end development, the much better move in my opinion would be to master modern back-end development in ruby / elixir / go / etc... and become a true full stack developer. I made the move to iOS 5 years ago and regret it for a few reasons.

1. I became "stuck" doing iOS development. I recently had to switch jobs, and even though I have some server and web experience, it was more scattered and dated than my iOS experience. I was looking for senior software engineer positions and with my track record of iOS development, the only positions that gave me an interview were the iOS ones of which there were a lot less. If I had a history of server work, I have a feeling I would have gotten a lot more interviews even for jobs that didn't use the specific stack my experience was in. At this point, if I want to get back into full stack dev, I would either have to convince my current job to switch teams, or take a cut in seniority and pay.

2. iOS development is behind on modern UI dev concepts. Developing for iOS feels like going back to jQuery or Backbone.js from React. Things like a declarative user interface, automatic DOM re-rendering and UI Bindings are in their infant state in iOS, while they have been core concepts of web frameworks for a decade. As a result, a lot of iOS code out there is very messy. While the web moved towards light user interface components and centralizing business logic in the Redux state, iOS stayed with the MVC pattern which in practice often results in giant, untested view controller files very reminiscent of the big jQuery script files of the early 2000s. You can try to fight this by adding your own architecture and external libraries, but such approaches will always be second class citizens, not the default.

(SwiftUI is going to address some of these issues. However, its a newer technology and most existing iOS apps will be slow to adapt to it)

3. It will be harder to pass a FAANG interview. One of the crucial interviews is the "system design" interview which is almost always server related. As opposed to the algorithm questions which are easy to study for from a book, the only good way to answer these system design questions well is by having experience in designing and building such systems. If you stay on the client side doing iOS or front end, you won't be able to answer such a question effectively.

The reason I moved to iOS from front end was because I wanted to get outside of the browser to a more full feature platform. In retrospect though, the obvious platform to transition to is not iOS or mobile dev, its the server. The server is a full feature platform which gives you the ultimate freedom to do whatever you want. And while frameworks like Ruby on Rails or React come and go, I found that job openings were pretty indifferent between the specific framework you worked on as long as you have server experience in general.

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#44
post #16

In my opinion here are the pros: - iOS will be around a long time. - Big brands and startups are basically required to have an app in the App Store if they want to succeed. - Every year a new version comes out that requires developers to fix bugs and sometimes adopt new technology. Here are the cons: - Extremely difficult to build an indie business on iOS given that there is a single distribution channel that you don…

> You probably won't be on call as an iOS developer (this is important to me, it might not to you).

Thank you! This was the reason I went back to Android dev after trying web dev for 7-8 months. There were other reasons too.

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#45
I've been an iOS dev for... 12 years now. And I love it. I'm in a position now where I'm learning Android for the first time. It's Kotlin and I don't hate it. And I'm still trying to learn back end. I can't code my way out of a box using HTML. I guess you'd say I can't code my way out of a

The ecosystem is amazing. I love the tools. Xcode is a joy of an IDE to work with. There's some room to improve, but compared to everything else... it's not even a question. The community is full of people who are full of wonder and excitement.

As a web dev, you probably already know some Ruby and have some familiarity with some build tools that I didn't when I came to iOS dev. That'll help. You won't be exclusive to Apple. You'll be using CocoaPods and Gradle and Bazel and Jenkins and Travis and god only knows what else. On any given day I code in Swift, Objective-C, Ruby, Kotlin, and Groovy.

At the end of the day, remember you'll be doing this 40 to 80 hours a week. Make sure you enjoy it.

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#46
post #27
post #16

In my opinion here are the pros: - iOS will be around a long time. - Big brands and startups are basically required to have an app in the App Store if they want to succeed. - Every year a new version comes out that requires developers to fix bugs and sometimes adopt new technology. Here are the cons: - Extremely difficult to build an indie business on iOS given that there is a single distribution channel that you don…

Big brands and startups are basically required to have an app in the App Store if they want to succeed. I don't think that will continue to be the case for much longer. It's mirroring the web to an extent - for a long time every business needed to have a website, and now more and more don't bother with anything more than a holding page that directs users to a few social media accounts. Brand apps are likely to go the…

What brand can you name that wouldn’t have something useful you could do with an app?

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#47

I've been an iOS dev for... 12 years now. And I love it. I'm in a position now where I'm learning Android for the first time. It's Kotlin and I don't hate it. And I'm still trying to learn back end. I can't code my way out of a box using HTML. I guess you'd say I can't code my way out of a The ecosystem is amazing. I love the tools. Xcode is a joy of an IDE to work with. There's some room to improve, but compared to…

Curious how you have handled some of these challenges:

1. What do you do to avoid massive view controllers? I have found that a lot of iOS apps I have worked on end up having the view controller be responsible for doing everything from fetching data from an API to setting the corner radius on some component. This leads to view controllers being really big and not unit tested.

2. Do you do anything to explicitly keep your application state in one place? I find that state in iOS apps ends up being scattered between a data store, singletons and view controllers. This is a lot more cumberesome than something like Redux where state is just in a single store.

3. I am pretty excited about SwiftUI as it addresses a lot of these pain points and brings iOS development into a more modern era similar to React. What is your opinion of SwiftUI? Are you using it on your apps? If so, what have been the challenges of introducing it into existing apps? If not, why not?

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#48
post #40

"switching" give the impression of let go the web. I say "adding". I work freelance for more than 20+years and have done almost all: Windows Apps, Web Apps, Mobile (iOS, Android), Cloud, nosql, sql, utilities, etc. Adding an extra to what you have make you stronger. Is a big plus for me to say "I know this and that and that...". Of course, I have my preferences and strengths, but I can fit in almost any project.

Agreed. It's good to have the skillset required to develop a mobile app in its entirety, including the API layer if one is necessary.

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#49
post #46
post #27

Earlier quoted context omitted.

Big brands and startups are basically required to have an app in the App Store if they want to succeed. I don't think that will continue to be the case for much longer. It's mirroring the web to an extent - for a long time every business needed to have a website, and now more and more don't bother with anything more than a holding page that directs users to a few social media accounts. Brand apps are likely to go the…

What brand can you name that wouldn’t have something useful you could do with an app?

The Hershey Company.

Re: Ask HN: Is it worth switching from web development to native iOS dev?

#50
Early last year I made the exact switch you are considering. As another commenter pointed out, since I work as a freelancer it was more a matter of "adding" a skill rather than "switching" I was able to gradually transition to doing native iOS.

Swift itself has made me feel a lot of enjoyment and productivity as a solo developer, I feel I'm able to produce a higher quality of software faster with far less npm noise and "busy work". There is a lot more work in React right now but with that comes a lot more competition and a lot of not very interesting jobs doing repetitive CRUD work. The community is much smaller but very friendly and welcoming to newcomers and beginners. With CoreML, ARKit, SwiftUI and Catalyst it's quite a fun time to be working in Apple's walled garden.

Keep in mind there is a considerable upfront time investment in doing this, there is a lot to learn. Swift itself should come fairly naturally as it's designed in a way that you can get by with a small subset of it and gradually add more. Learning the platform and it's APIs however takes some time.

Post reply on HN