I use Google Cloud Dataflow because it has great templates for plug and play action.
I haven't invested in the apache beam framework because you need to know Java to take full advantage of it. The Python API is a second class citizen.
I chose WebdriverIO and Appium to implement a E2E tests solution on a native mobile app. WebdriverIO goes well beyond just implementing the Selenium / Appium protocol and allows to run tests in parallel out of the box. Appium has the big advantage of supporting iOS and Android platforms, so the test codebase and tools are exactly the same, which greatly reduces the learning curve and implementation time.
If jQuery or vanilla are the only two options available, then use the library that's available when its features will avoid having to reinvent wheels. Look at what jQuery offers, and look at the things you want to do. If a handmade solution doesn't require a lot of extra effort, then don't bother.
The best tool to use is the one you already know. This is what drove us to use Rails and PostgreSQL to power our backend. Rails is already optimized for web API development, which is perfect for our mobile apps. Active Record and the suite of other Rails tools lets us prototype and push production-grade code very fast.
Since Rails has existed for quite a long time, its ecosystem has had enough time to mature and provide a lot of support. This gives us a very solid foundation on which apps were battle-tested in production that we can rely on. This is crucial for a small team — we generally do not have the bandwidth to investigate weird issues with new frameworks nobody has ever seen before.
React Redux with the latest version of React-Redux 7.1.0 offers Hooks support so you don't have to create custom contexts or whatever. You just use a combination of
useSelector just as usual. You keep all the benefits of Redux with the abstractions and optimisations of the