I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.
We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.
Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis for cache and other time sensitive operations.
We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.
This time I want to share something different. For those that have read my stack decisions, it's normal to expect some advice on infrastructure or React Native. Lately my mind has been focusing more on product as a experience than what's it made of (anatomy). As a tech leader, I have to worry about things like: are we taking enough time for reviews? Are we improving over time? Are we faster now? Is our code of higher quality?
For all these questions you can add many great recommendations on your pipeline. We use Trello for bug-tracking and project management. We use https://danger.systems/js/ to add checks for linting, type-enforcing and other quality dimensions in our PRs and a great feature from Vercel that let's you previsualize deployments directly in a PR. However it's not easy to measure this improvements over time. For customer matters we have Amplitude or Firebase analytics, but for our internal process? That's a little bit more complicated.
I collaborated recently with some folks in a small startup as an early adopter to create a metrics dashboard for engineers. I tried to add the tool to stackshare.io but still it doesn't appear as one of the options, please take a look on it over product hunt and let us know https://www.producthunt.com/posts/scope-6
I'm about to begin working on an API, for which I plan to add GraphQL connectivity for processing data. The data processed will mainly be audio files being downloaded/uploaded with some user messaging & authentication.
I don't mind the difficulty in any service since I've used C++ (for data structures & algorithms at least) and would also say I am patient and can learn fairly quickly. My main concerns would be their performance, libraries/community, and job marketability.
Why I'm stuck between these three...
Symfony: I've programmed in PHP for back-end in a previous internship and may do so again in a few months.
Go: It's newer than PHP, I've heard of its good performance, and it would be nice to learn a new (growing) language.
Go with Node.js. There's something really satisfying about being able to use a single language across your entire tech stack. Especially once you integrate GraphQL, which is effectively JSON.
Your second best option is Go, but the ecosystem around Node.js is quite a bit stronger. This will play a big factor when you start building functionality like file management, messaging (especially in real-time), and authentication. The libraries and documentation are just stronger for Node.
I want to develop a mobile app for android and IOS using a RAD (Rapid application development) tool, but I don't know if such a tool exists.
I created the site for Brazilians. It tracks records of products sold on different websites. I built the entire system using a Rad tool called PhpRad, except for the scraper, for which I used a Python script.
I would like to know if it is possible to do the same using some Rad application that creates most of the code for me, such as authentication and pagination. Does anyone know any Rad application that does this for mobile? Please let me know; any suggestions are welcome. If it is a tool that uses React or React Native, even better, but if you use another technology, no problem.
As a Microsoft thing, maybe Xamarim (Forms) addresses your Rad needs. To be honest I never built an application with it, but I have built with Windows Forms and WPF. If it follows the same Philosophy, I think you will be useful for you. Good luck on your project! =)
Hi Tiago. I already used Xamarim a long time ago and I didn't consider it a rad tool. I think Xamarim is a developer tool, not a Rad tool. I try to search if Xamarin has any Rad feature like PhpRad, but I can't find anything.
Hello guys, I am new here. So, if I posted without specific guidelines, please ignore.
Basically, I am an iOS developer and developing native apps for the last three years. Recently, I started learning React Native to develop apps for both platforms. If anyone out there knows any useful resources that will become a better react native developer.
Well, the first resource I would recommend you is my upcoming book by Packt Publishing, "Professional React Native", but it's due late January next year :) . Now jokes aside (the book's real by the way :) ), the easiest way to build a iOS/Android/Web app with React Native is to do: npm install -g expo-cli expo init some-project cd some-project expo eject
You might have heard of Expo, but trust me, stay away from it. Expo highest value is that it's an already pre-configured 3 platforms environment, but if you don't eject then you're vendor-locked to what Expo has to offer in iOS and Android, which is very poor compared to going full React Native on these platforms, they can't even handle Google Sign In properly and by the way, even if your app is 10 lines of code your app size will be over 40 MB if you don't eject, yep it's that bad, plus the performance is regular and the loading times slow, not to mention that you're stuck with their build service which the free tier makes you wait for hours for a free build slot. It's important to note that when ejecting you don't lose the Web, you simply do expo start --web to start your dev environment and expo build:web to build a static website that you can serve with any web server. Regarding state management, don't bother with "lifting state up" philosophies mixed with Context API to manage your state, lifting state is a great pattern and helps your codebase, Context is great to avoid prop-drilling, but NEVER mix them to achieve app-wide state management, for that, simply go for Redux or MobX, the hype is all about Redux, but I consider MobX far better in many aspects. However, as you're getting new into this I would recommend you start with Redux AND PLEASE grab yourself npm install @manaflair/redux-batch so that you can batch updates and don't bring your app to a crawl. Forget that "connect HOC" thing with React-Redux, don't bother for a second with it, go with Hooks and useSelector and useDispatch and the likes, it will make your code SO much cleaner and smaller. Adopt clean and new Hooks philosophy, avoid writing class components as much as possible and write function components augmented with Hooks.
I am starting my first React Native project soon, and I ended up with the recommendation of a react native paper UI library. Is it worth working with it or will it be advisable to work with NativeBase element of React. BTW, UI is important in my project.
I've been juggling with an app idea and am clueless about how to build it.
A little about the app:
- Social network type app ,
- Users can create different directories, in those directories post images and/or text that'll be shared on a public dashboard .
Directory creation is the main point of this app. Besides there'll be rooms(groups),chatting system, search operations similar to instagram,push notifications
I have two options:
- React Native, Python, AWS stack or
- Flutter, Go ( I don't know what stack or tools to use)
Hope that helps, and good luck with your project!
I'm typically agnostic when it comes to picking languages. Whatever gets the job done, but, in this case, to figure out what's involved with what you want to do, it's going to be much more than just picking programming languages for your client and backend interfaces.
So, I'm recommending you use Flutter+Firebase as a way to figure out what you need to get done. It supports both iOS and Android out of the box, introduces you to a bunch of components you will need to think about in the future (whether you stick with Firebase or not), and the key here, is that there are tons of articles, youtube videos, and other courses you can take to pick it up pretty quickly. You could even clone an Instagram knockoff from github. Guess what else, it's all free. You might not need to worry as much about the backend since there are client libraries for Flutter/Dart for Firebase.
Some might have different opinions, and like I said, I'm usually agnostic, but in this case, you have a lot to consider. Where are you going to store the data? Are people going to need to login? Will there but customized settings the will save even if I close the app? Yeah, that's just a few questions.
Those are just a few. Lots to consider, so if you want to get something in your hand as soon as possible, try a search for flutter + firebase + chat + Instagram or something like that and have a look.