What stack would you recommend for a simple web/mobile app?
I would like to build a simple app for a local poker room. It doesn't have to do much, just list a tournament schedule, cash tables, promotions and restaurant menu. I'll use Django for the backend but have no idea which frontend I should use. I'd like to optimize for easiness to learn and sharing as much as possible between the web / android / ios versions.
The mobile version would work fine as a simple encapsulation of the website so would Cordova be better or do you recommend learning React Native?
I have zero experience with either web or mobile and am willing to learn whatever I need (already familiar with C/C++/Python and non-web backend development).
I ask because I don't like to waste time learning frameworks just for the sake of it.
8 comments
[ 3.4 ms ] story [ 32.3 ms ] threadReact/RN and Ionic would be my top framework suggestions. With React, you have to learn their specific UI syntax/JSX, then React Native syntax. With Ionic, you need to learn Angular and TypeScript, as well as their specific UI syntax.
Another idea would be to start with simple HTML/CSS/JavaScript. These are the building blocks of the web and I've seen others struggle immensely when they don't take the time to learn them properly. This is what I did with my apps, currently using Knockout.js (two way binding is amazing), KendoUI Core (easy cross-platform UIs), and PhoneGap Build (cloud service to create native apps from web code). Incidentally, my Pluralsight course launches in a few minutes - http://www.pluralsight.com/courses/phonegap-build-fundamenta... - and is exactly meant for beginners to get their feet wet before diving into the more complex frameworks.
I think I'd be better suited doing vanilla HTML/CSS/JS since I dabbled in those a while ago and it's very easy to learn them again.
Looking forward to your course !
If you need any truly interactive elements, you can add a bit of javascript directly in the Django templates, without needing a framework.
Thinking about it more: why do you need Django at all? It sounds like you're just presenting static information?
Unless you are going to do a lot of client side interaction on the mobile like ordering, i'd recommend you to create a simple website. Use foundation or bootstrap to create a simple, responsive website.
If you really feel that you requirements can change over time towards more heavy interactivity, use django to create a json api that would be consumed by a responsive react based frontend exclusively using ajax calls (Look to reddit's mobile site for an example). This allows you to scale to native mobile apps if the need arises in the future.
Since you have zero experience with web and mobile, jumping head first into react native and cordova and mobile would be a big folly. Make and ship a regular, responsive website first before even thinking about mobile apps. Shipping out small but working apps and improving on them is better that spending months on an all encompassing platform that only exists on paper.