Hacker News new | ask | show | jobs
by xeonoex 2327 days ago
Not OP, but I've tried all of the big SPA frameworks (not specifically react native though) and I decided to use flutter for a non-trivial side project and I don't ever want to touch the big SPA frameworks ever again. Flutter is also fast, pretty lightweight, and good on battery. It feels native on iOS and Android. I have little Android development experience (side project years ago) and no iOS experience.

It's easy to setup, install, and it just works. I develop on Windows and Mac with a .NET Core backend and communicating via GRPC. Deploying the backend to a CentOS server. No issues running anything on Windows, Mac, or Linux, surprisingly. Whenever I have to use node, everything randomly breaks when switching environments. (Maybe I'm just bad with node/webpack and all that, but there is way too much I have to know to just build something).

1 comments

I'm considering using Flutter (instead of Ionic which Ive been using for mobile up till now).

In terms of Node breaking when switch platforms - are you syncing the node_modules folder between machines somehow? Don't do that. Doing "npm install" will sometimes install binaries specific to a platform that won't work across them. Put node_modules in your.gitignore, and sync between machines using version control rather than something like Dropbox. I used to just put the whole project in Dropbox but ran into too any issues between Mac/Windows.

Yeah, I used git and ignored node_modules. Honestly, most of the problems are related to Windows. Whenever I try to use anything geared towards web dev, there are just more issues on Windows. Tons of dependencies that change all the time doesn't help. Most of the web dev industry is on Linux or Mac. It's not all related to Windows though. Just updating packages/frameworks is scary. Setting up Jekyll was tough, even on WSL. I've opened issues on projects, and they would update the project to say that Windows is not supported (though IDK if node was the issue there). I bought a Macbook solely to deploy iOS apps, but it is way easier to develop anything related to web on it.

Again, this is coming from someone who doesn't do web dev full time, so I'd probably resolve issues faster if I did, but for my side projects, it's too much maintenance. I just want to be productive if I have an hour or so a day. Flutter lets me do that. I write code, code runs on Android and iOS. It's easy. No react/vue/angular, webpack, bootstrap, scss, typescript definition files, or other 'magic' to worry about.

If you use "npm ci" instead of "npm install" there's even less chance of breakage.