27
devTea
6y

Out of hybrid apps (React Native, Electron, Native Script, etc) what would be the most popular for the industry, and the pros and cons?

Comments
  • 4
    Does electron run on mobile? 🤔
  • 4
    Hiiillow @devTea

    I'm not sure about NativeScript being a "hybrid" app platform. Did you mean cross-platform frameworks?

    Hybrid apps are those that mix native components with cross-platform components like web ones.
  • 3
    @olback @iskandergaba I meant most of hybrid apps framework, for both mobile and desktop
  • 1
    I am interested in the answers to this question, too!
  • 3
    Especially since I heard react native could compile to UWP
  • 3
    @devTea okay well last time I checked, electron does not run on mobile.

    NaiveScript is petty new and looks really promising. But the community is not there yet and it is still growing. No experience with that.

    ReactNative is pretty common and very widely used in industry. It has some strong reputation and it's been the go to platform for cross-platform development for years now. But the workflow of development is not the best with all that dependency hell and being not a web developer myself, I never liked it.
  • 1
    I've been looking at ionic for a while but never tried it. Seems to be similar to Angular.
  • 8
    @devTea The best right now in my humble opinion is Flutter. It is a smasher. The community is growing very fast and the learning curve is so gentle. You also get to use either Android Studio cool features or VSCode, whichever you like. Hot reload is a blessing as well. Dart language is so nest and cool. Embedded within is a ton of highly customizable widgets and material icons for android and Cupertino ones for iOS. Yoh can even specify 2 designs for the same app within the same codebase so that the app looks familiar to each userbase. You want to implement something specific to iOS or Android? Not a problem, you can mix native code within. In the last IO19, Google officially announced that Flutter web entered technical review. Soon your Flutter code will also be a web app. Mac, Linux, and Windows coming in the future.

    I am a fan.
  • 2
    @iskandergaba ok so flutter vs react then? I’m a react dev myself, thx for the info
  • 2
    @devTea I get where you come from. I come from native android development experience and object-oriented background. And Dart really is an impressive language. So you see I don't get along with JS that much. Besides, performance-wise, Flutter may have the edge here.

    You are welcome. Anytime.
  • 2
    @iskandergaba Never got my Java to play properly with Flutter 😔
  • 1
    React native definately

    @iskandergaba what dependency hell do you speak of?
  • 2
    @Froot just like any other front end framework dependencies probably
  • 1
    @olback no it isn't. Since ionic 4 the ui components are Web components. You can use it everywhere. Angular vue vanillajs...

    But they build a service around the development process and they have a lot of plug-ins for mobile development.

    Quite nice.
  • 2
    Flutter seems compatible with everything but is also reaaally strange
  • 1
    @kosio-t wym strange
  • 1
    I am partial to React Native and Codenameone *for Android* since I heavily dislike Android development(after 2 years of doing it professionally I absolutely hated it)

    For IOS i would go native, working with Obj C or Swift is a great experience imo, so that one does not bother me, but nothing would stop you from using React Native or Flutter or Codenameone :D

    As a whole, React Native is a safe bet :D specially if you like JS
  • 2
    @AleCx04 Thanks, I posted it so I know what's other options and their pros and cons. I hope learning this paid off
  • 3
    @AleCx04 I also don't have mac so xcode is not possible
  • 1
    @devTea makes perfect sense :) I think you will find React Native really appropriate for most tasks. I really dig it :)
  • 1
    @devTea yea but how is that a dependency hell? You just install them, there are no dependency conflicts... It just works.
  • 2
    @devTea You are not supposed (or able) to change a single widget (ui objects in flutter) but you should change a global property and tell flutter to rebuild, it is supposed to detect what should be rerendered based on the change of this property and leave everything else as is. But of course it doesn't work very well and you sometimes need to use performance unfriendly workarounds to force it to rebuild the needed widgets.
  • 2
    @Froot a library that depends on another library, the hell circle or so, some people hate those kinds of apps environment

    @kosio-t huh? What turns me down the most when I tried mobile dev in the past is thr build takes forever, I really like fast hot reload and react native with expo is doing at ok speed for my taste
  • 1
    @kosio-t I must be working with something else if that's the case...

    When was it that you tried it? When it was developer preview LOL? Because even the beta was way more stable than what you describe.

    I work with it quite often these days and it detects the slightest changes in the code and reflects them instantly once you hit Ctrl+S so I'm not sure where you got that terrible experience 😕
  • 1
    @devTea flutter is pretty fast and google is actively supporting it and fixing bugs, it has improved a lot in the last 5 months alone but I still hate the lack of control over single widgets.
  • 2
    The build speed is quite okay as well and the hot-reload is instantaneous on Android Emulator (I exaggerate not)

    Not like slow native android development at all.
  • 1
    @devTea at any rate, I suggest you try multiple choices and decide for yourself if you can. Flutter Codelabs are a great place to assess what's it capable of and decide from there.
  • 2
    @iskandergaba I will thanks again
  • 2
    @ScriptCoded It's okay. There's always a start. The only Java native development I did in an Android app was to handle some sharing permissions. My teammate did the equivalent job for iOS. We used platform channels. I hope this helps.

    https://flutter.dev/docs/...

    @hash-table You are welcome. Have fun!
  • 2
    @devTea I dont see why it's a problem when one library depends on another. That's how it works, you build on others work, no need to invent the wheel.
    Also, as a dev all that is hidden from you anyway so I don't see the problem here at all
  • 2
    Since this is DevRant why should i hold back.

    I have been working in react native for some time now. Our app is used by a little over 2,00,000 people. For some reasons, our android app is partially written in Native and the rest in React Native. GOD DAMN, the fucking Native Android developer is a pain in the ass. Not only does the bitch feel threatened by JS taking away native jobs, he just wouldn't shut up about how WebStorm is better than VsCode (maybe it is. Shut the fuck up. Work)

    Coming to the topic at hand. Native android developers have a pain adapting to the JSX and the CSS that you have to write. They will be biased towards Flutter. JS is a tricky language, it is a trend these days to cuss JS and make a joke about callback hell. Get your head out of your assholes and see es6 (arrow functions, async await and more)
    As far as dependency hell, damn bruv if you don't maintain anything everything is a hell. LEARN TECHNOLOGY NOT LANGUAGE/FRAMEWORK. PEACE OUT.
  • 3
    @Froot you don't see the problem of having hidden dependencies all over the place?

    I couldn't think of a bigger problem with such dependencies. It is true that other projects require of multiple modules being pieced together, and I would be the first to defend Node as a whole(for most cases) but one of the shittiest things about it is how many items are added to a project that depend on many other modules, some which might potentially include vulnerabilities or compatibility issues(which is not uncommon) and all for importing the smallest of things.
  • 3
    @nole we are not talking about starting a simple Node project from scratch here. We are talking about what comes from large repos such as React Native.

    And broken dependencies != modularity my dude.

    For the record, I am not a JS/Node hater. Far from it.

    I am just not going to think that it is the end all be all of software development.
  • 1
    @AleCx04 Of course I do. But noone forces you to install a library for some small thing. Also, since there are many alternatives, you can shop around to pick the one that works for you.

    Also, I much prefer libraries depending on other reputable libraries, rather than writing everything from scratch. If you want to make a CLI app to convert svg to PNG, I'm sure your svg to PNG bit will be solid, that's the focus. Bit of you were forced to also write the command line arg parsing logic, I wouldn't be so optimistic about that since that's an afterthought. I hope you get what I mean
  • 1
    I'm personally a fan of React Native, speedy because it compiles natively and overall development is quick and easy once you get past the growing pains of learning redux and jtw. Others might be just as good but overall Ive found great success with available community support and package availability for even highly niche items.
  • 3
    @iskandergaba thank you for your input, I'll definitely give flutter a try
  • 1
    I was thinking that we have to choose the most in demand technology in our area. If there are lots of react native jobs then you must prioritize learning react native. Supply and demand.
  • 0
    I'm also interested in the answer to this question.
  • 0
    I also study the popularity and relevance of various applications. After all, a properly selected application can help to significantly increase the number of orders and the user base. I found a source that helped me figure this out. I realized how important it is to build an on-demand app and found a reliable source for it https://syndicode.com/blog/... After all, regardless of the niche and field of activity, the application should help and simplify this process.
  • 0
    Will sit here to check for the comments
  • 0
    real estate web development
  • 0
Add Comment