React Native

React Native

Application and Data / Languages & Frameworks / Cross-Platform Mobile Development

Decision about SonarQube, Codacy, Docker, Git, Apache Maven, Amazon EC2 Container Service, Microsoft Azure, Amazon Route 53, Elasticsearch, Solr, Amazon RDS, Amazon S3, Heroku, Hibernate, MySQL, Node.js, Java, Bootstrap, jQuery Mobile, jQuery UI, jQuery, JavaScript, React Native, React Router, React

Avatar of ganesa-vijayakumar
Full Stack Coder | Module Lead ·

I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

As per my work experience and knowledge, I have chosen the followings stacks to this mission.

UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

Happy Coding! Suggestions are welcome! :)

Thanks, Ganesa

14 upvotes·10 comments·7.9K views

Decision at Netbeast about Mailjet, Intercom, Amplitude, Firebase, GitHub, Bitrise, Travis CI, Objective-C, Android SDK, React Native, End2end, SmartHome

Avatar of jsdario
Telecomm Engineering at Netbeast ·

We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.

Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.

We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.

You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.

10 upvotes·21.3K views

Decision at Zulip about React Native

Avatar of tabbott
Founder at Zulip ·

We've been using React Native for the Zulip mobile apps, and while there's definitely problems with the platform, it's also saved us a huge amount of time.

One of the things that people don't talk about enough is the product thinking cost of maintaining duplicate codebases for the same app, as one would have with a traditional fully native app for both platforms.

That said, the RN ecosystem has frequently been frustrating; RN releases often break important things, often fairly basic features of the underlying implementations (like support for automatically following redirects in various networking contexts) aren't exposed properly, which can result in a bunch of extra work. But at the same time, we're saving all of the work of maintaining two redundant mobile teams, determining and communicating details of the server/client interface with those two teams, and fixing bugs twice.

Overall, we're happy with the React Native decision, since I think it's the best platform available for what it does in 2018. But I'm also interested in whether Flutter, which in our view has a better development strategy/structure, can provide a better cross-platform mobile development experience in the coming years

9 upvotes·19.6K views

Decision at SmartZip about React Native, Android Studio, Objective-C, Xcode, MobileDev

Avatar of juliendefrance
Full Stack Engineering Manager at ValiMail ·

As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.

Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.

Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.

After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.

After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.

Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.

8 upvotes·8 comments·14.5K views

Decision about Apache Cordova, redux-saga, React Native, AngularJS, Redux.js, React, JavascriptMvcFrameworks

Avatar of aharonamir

We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

7 upvotes·28.4K views

Decision about Flutter, React Native, PhoneGap, Apache Cordova, NativeApps, MobileFrameworks, JavaScript

Avatar of sezgi
Sr. Software Engineer at StackShare ·
FlutterFlutterReact NativeReact NativePhoneGapPhoneGapApache CordovaApache Cordova
#NativeApps
#MobileFrameworks
#JavaScript

For a front end dev like me, using a mobile framework for side projects makes more sense than writing a native app. I had used Apache Cordova (formerly PhoneGap) before (because React Native didn't exist yet), and was happy with it. But once React Native came out, it made more sense to go that way instead. It's more efficient and smooth, since it doesn't have the simulation overhead, and has more access to hardware features. It feels cleaner since you don't need to deal with #WebView, using native UI widgets directly. I also considered Flutter . It looks promising, but is relatively new to the game, and React Native seems more stable for now.

MobileFrameworks #JavaScript NativeApps

6 upvotes·21K views

Decision about Android SDK, Android Studio, React Native, Xcode, Expo

Avatar of sezgi
Sr. Software Engineer at StackShare ·

I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.

The Expo SDK also provides convenient features like Facebook login, MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/

6 upvotes·2 comments·17.2K views

Decision about JavaScript, Visual Studio Code, PHP, PhpStorm, React Native, IDE

Avatar of lidiexy
Senior Software Engineer ·

As developer at Applied Health Analytics we decided to create a React Native App. In terms of #IDE I'm a good fan of PhpStorm cause we have a lost of PHP in the backend, but I definitely gave a try to Visual Studio Code and now is my primary JavaScript #IDE. I was impress how fast VS Code has become the No.1 @JavaScript Editor in the community.

6 upvotes·4.6K views

Decision about Android Studio, React Native, Windows, Linux, Mac

Avatar of rishichawda
Software Development Engineer at Codebrahma ·
Android StudioAndroid StudioReact NativeReact Native
#Windows
#Linux
#Mac

Personally, I never like installing too many applications / programs on my system. Even if it is a small one. For me, it is better to have aliases for commands and use them via terminal rather than having a program do that for me. Also, who needs aliases too if you're using Zsh autocompletion!

Thus when it came to developing a React Native application ( I started native mobile application development a few months ago ) -- I preferred using Google's Android Emulator rather than using third-party softwares that provide virtual devices to run the app. But also, I didn't want to install Android Studio which I'm never going to use anyways except for the emulator. So I ended up installing and using it through command line and also wrote a blog around it for #Mac , #Linux and #Windows users.

But after a few days, I started using USB Debugging with an external device whenever possible. Emulators just hog the device memory IMO.

4 upvotes·3K views

Decision at Bengala about MySQL, SendGrid, GraphQL, React, React Native, Ember.js, Go, Firebase

Avatar of betocantu93

Firebase Go Ember.js React Native React GraphQL SendGrid MySQL

Emberjs for our admins panels using ember-apollo and react native using apollo too for our apps, using golang graphql, services like SendGrid to send all the emails, Conekta to for accepting credit cards, firebase for our auth with facebook, google, phone, etc...

3 upvotes·3 comments·12K views