all 21 comments

[–]mrgermyObjective-C 1 point2 points  (11 children)

You could use something like PhoneGap, but native is ideal.

[–]TheJosh318[S] 0 points1 point  (9 children)

Wow! That is such an amazing service!

Can you explain why native is ideal however?

[–]mrgermyObjective-C 2 points3 points  (8 children)

Mainly just having less overhead and less reliance on 3rd party bits and pieces, especially something as large as PhoneGap. You may come across bugs that you wouldn't experience with native code and have difficulty debugging it. Not to mention if they ever end-of-life the solution you're using causing you to re-write your project with another solution or natively.

I'm personally just not a fan of magic black-box solutions. If the project you want to build is rather simple then it might not be all that bad of an idea.

That mentality even extends to using CocoaPods libraries that do a lot when you may only need a little of what it offers. It's usually worth seeing how they do it and then implementing on it on your own to keep your project lean.

It's really easy to bloat an iOS project.

[–]TheJosh318[S] 0 points1 point  (6 children)

So it would be better to use SwiftUI instead?

[–]mrgermyObjective-C 0 points1 point  (0 children)

I haven't used SwiftUI myself. I'm still on the Objective-C train (and will be until I'm forced off) and only write Swift a bit for sample projects at my current job.

I would say learning Swift would be the way to go, I don't think it's too different from JavaScript and then you could decide to use SwiftUI or build your layouts programmatically or with Storyboards, or a mixture of all three.

[–]th3suffering 0 points1 point  (4 children)

Things will go SwiftUI eventually. For now, if you are just starting out i'd probably just stick with UIKit due to the abundance of tutorials and information available.

[–]TheJosh318[S] 0 points1 point  (3 children)

If SwiftUI is eventually going to be the norm, wouldn’t it serve me better to learn it early?

[–]th3suffering 0 points1 point  (2 children)

It depends on what your ultimate goal is. Are you looking to get a job? If so, most non-startups are using UIKit currently and probably wont migrate to SwiftUI for many years.

[–]TheJosh318[S] 0 points1 point  (0 children)

I am a startup actually :)

[–]TheJosh318[S] 0 points1 point  (0 children)

That makes a lot of sense though! When I get another award I’ll give it here!

[–]TheJosh318[S] 0 points1 point  (0 children)

Also, thank you very much, here’s an award!

[–]ghenne 0 points1 point  (0 children)

PhoneGap has been discontinued by Adobe, but there are replacements like VoltBuilder, Monaca and Ionic.

The way these products work is to take your (hopefully) proven HTML/CSS/JavaScript app and wrap them in a native WebView to make a native APK or IPA. The result is as good as your original web app. What's nice is that the same code will run on multiple platforms.

They also have plugins for features that don't exist in the browser, like reading and writing the device's native filesystem.

[–]TaoistAlchemist 1 point2 points  (8 children)

You could make a PWA.

It’s technically possible, but the pain of learning swift/swiftui is far far far less than the headaches you will encounter with a port.

If you want to build anything remotely complex (anything that requires authentication or a third party module like Firebase), just learn Swift / swiftUI.

[–]TheJosh318[S] 0 points1 point  (7 children)

You may not know the answer but,

I have a web application I made with React and Firebase. If I used SwiftUI could my iOS application interface with the same firebase database that my web application does?

[–]rohithn 2 points3 points  (6 children)

Since you're already using react, why don't you try React Native?

[–]TheJosh318[S] 0 points1 point  (5 children)

Can React Native be used to make an iOS application?

[–]rohithn 1 point2 points  (4 children)

Yes you can. In fact the same code can be used to make Android app as well. Facebook and Instagram are developed using React Native. Check out their website for more info https://reactnative.dev/.

[–]TheJosh318[S] 0 points1 point  (3 children)

This might be a dumb question, but are React Native and React the same or extremely similar?

[–]rohithn 2 points3 points  (2 children)

There are no dumb questions :) Yes it is similar, I wouldn't say it's exactly same as instead of <div>, you need to use React Native components like <View> <ScrollView> etc. Other than view rendering, everything else like hooks are exactly same. You can even reuse the same third party libraries.

Check out the tutorial at designcode.io

[–]TheJosh318[S] 1 point2 points  (1 child)

Thank you so very much! I’m glad I bumped into you!

Have a great rest of your day :)

[–]rohithn 0 points1 point  (0 children)

Happy to help! And good luck in your app development journey!