DEV Community


Discussion on: Breaking up with JavaScript

aop4 profile image
Andrew Puglionesi

I do foresee one problem with your proposed switching of gears. It sounds as though your experience with Swift has encouraged you to get into mobile development. But a lot of organizations don't want to employ native iOS or Android development these days, the main reason being they'd have to maintain two separate applications, one for iOS and one for Android phones. Hence we have Ionic and React Native, probably the two biggest frameworks for cross-platform mobile development at the moment. Unfortunately for you, these frameworks are built around JavaScript. It takes the place that, say, Java holds in an Android application, being used to access the native APIs, make calls to backend services, and do pretty much everything short of querying a database. HTML and CSS are used to control the layout. On the one hand it would be familiar. You could use HTML, CSS, and JS. But the obvious takeaway here is that developing mobile apps doesn't necessarily mean ditching JavaScript. I'm sure there are organizations that use Swift, but I would assume they're getting to be fewer and fewer in number. Even the cross-platform approach may require native code at times, but not all that often. Now, TypeScript, Angular, and React (generally integral to these frameworks) would still provide a more structured way of doing things. Before you take this as discouragement, see if there are jobs as a native iOS developer where you are/would like to be.
And, to second someone else's advice: do give it some time. You won't really know whether it's for you until you've built something with it. My interest in mobile development was much higher during the first couple weeks than it is now.

gabek profile image
Gabe Kangas

This is very much incorrect. Sure, companies try out React Native, but more and more are ditching it due to it just not being good enough. Native development is always better, and native developers will always be in demand. Please stop spreading FUD.

aop4 profile image
Andrew Puglionesi

Is native development "always better"? What if I'm a startup with limited resources and three developers that wants to reach everyone, regardless of their device?
Thanks for the criticism. I think the cross-platform approach will always be appealing to groups with fewer resources, but I agree that it's limited, especially when you want to do something that touches the operating system and the unique capabilities of a given platform. In my experience, it's actually a total pain in that case.
How about I rephrase it: some people happen to use JavaScript for mobile development, but if you wanna do Swift, go do Swift. He's right, you'll very likely find a job, and I shouldn't have painted anything like a black-and-white picture when there are plenty of people on both sides of the argument (and thus jobs for Swift people).

Thread Thread
antjanus profile image
Antonin Januska

I'm totally in agreement with you here. I work at a startup with constrained resources. We don't have a mobile app but we have been throwing around the idea of creating a desktop app where it's a similar conundrum: go native or use electron? And in the end, we have 6 JavaScript-y developers, customers with solid machines, and a web app as a primary focus.

Creating an electron app from a web app is a cinch and can easily be improved upon over time to deliver a better experience. Once we grow large enough, or the desktop app becomes a huge draw for new clients, we can dedicate time to native.

I imagine react-native faces something similar, though from what I've seen, RN is still a good option for most apps.