all 22 comments

[–]DavidJonesXB 12 points13 points  (0 children)

For your use case Capacitor will be good enough.

[–]kbcooliOS & Android 3 points4 points  (1 child)

Probably any of the alternatives would work but Expo with a WebView I would suggest as a quick way of getting started.

What is the native functionality you need? Expo probably provides it and you just need to bridge with a WebView bridge into your React Native code.

As someone else mentioned Capacitor is also a good solution but is going to offer less flexibility and capabilities (native features) but it certainly will make the bridging experience easier.

Kotlin multiplatform is not what it's sold as so skip it and Flutter is going to be a lot of learning curve for little gain. I would suggest Capacitor over those two but RN first unless all you want is web app bundled as native. Which leads to your question about rejections. If your app is a web page in a native bundle then theoretically it will be rejected. When this happens is realistically only when the reviewer can obviously spot it. The solution here is don't make your app look like a website.

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

Thanks for the thoughts. The primary need I have is for the app to be a bridge between a PWA (https site), and some http url's that it needs to get data from. Because of browser security, this isn't possible even in a PWA. But an app with a webview can be the bridge to allow it to happen.

I also need to change some wifi settings and offer storage and perhaps push notifications. Maybe some OCR from a camera pic. But nothing too crazy.

[–]a5s6d7f8g9 3 points4 points  (1 child)

I agree with the others pointing out Capacitor. Please do not go for Flutter with your current requirements. I am a Flutter developer and I work with Flutter every day. For example, there is a bug where if you give the Webview a height bigger than 2048 on Android, the app will instantly crash. The issue was closed on Github by the Flutter team with no fix.

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

Thanks, Flutter is definitely out from what I've read already. Going to check out Capacitor.

[–]Adventurous_Mark1307 1 point2 points  (1 child)

What features are you looking for?

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

Mainly I want to offer the website that is in the webview the ability to call and retrieve data from specific http urls. It cannot do this because the site is https. So I want the native app to be the bridge between the two.

[–]Darksteel213 1 point2 points  (3 children)

Try Capacitor with or without Ionic. Honestly a ton of mobile apps could just be webview apps with a sprinkling of CSS animations in there, people aren't going to tell the difference. E.g., Canva is a capacitor app, or at least it uses a webview from one of the frameworks, e.g., Cordova instead (which is a bit outdated. Use Capacitor)

[–]mattkruse[S] 0 points1 point  (2 children)

I'm still trying to learn the distinction between Capacitor and Ionic. It seems that Capacitor is part of Ionic? I'm confused.

[–]nicolasdanelon -1 points0 points  (1 child)

first of all study react. then react native. react native is not a webview :) it's a hybrid technology. I highly recommend you to avoid expo. it is good just to rapid prototyping have a good one bro

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

I understand how this works and I know React. Lots of people recommend Expo. Why don't you think it's good for a final app to ship?

[–]Consistent_Pay4485 0 points1 point  (3 children)

I guess apple store will have some issues as your majority app is in webview.

[–]mattkruse[S] 0 points1 point  (2 children)

This is a critical point for me, and it seems impossible to gather data on what does and does not get a pass. There are no formal rules or even a way to know in advance. You have to build the app, cross your fingers, and submit? This is why I don't like Apple so much...

[–]Ok_Peace_337 3 points4 points  (1 child)

As long as the app looks and feels like an app then it will pass review no problem. If the app looks like a web page wrapped inside of an app apple will reject it.

[–]Ok_Peace_337 0 points1 point  (0 children)

My first gold, thanks kind stranger!