Answer the question
In order to leave comments, you need to log in
Which stack to choose for a non-complex multi-user SPA?
Good day!
I want to warn you right away - I am a web designer, I have a well-developed and detailed idea for my startup, which I want to create-test-optimize-launch with my own hands. Ambition is backed up by IQ and fierce perseverance, so please, if possible, do not throw stones in the spirit of "calm down, you can't do this alone", "take off your rose-colored glasses". I am one of those people who believe that "if you want to do it well, do it yourself", and therefore learning to some minimum sufficient level of the required programming language is not a disaster. Yes, and in my case there is no budget / desire for a team / investors
PS: I would be very grateful for a detailed answer, which will help me put everything right in my head and start moving in the right direction. If we find a common language with someone, then in the future I could contact you for a paid personal
consultation "to smoke"
Answer the question
In order to leave comments, you need to log in
You can use React/Vue + Webpack + Koa + ReactNative/Weex + MongoDB/MySQL/GraphQL + Docker + Nginx + Git for your task .
1. On React , you can write both the web application itself and native mobile clients for Android and IOS using React Native . You can choose Vue - it's easier for a beginner and you can also write native mobile applications with Weex on it . Use AngularI do not advise, since the entry threshold is higher, and it is more difficult to write a competent architecture. Here you need experience or advice from an experienced developer.
2. webpack . Like it or not, you will have to deal with the assembly of the frontend. In modern development, you can't do without it. Using solutions like c reate-react-app , I personally do not advise. As an alternative for a quick start, it is better to choose ReKit . This is a React development toolkit containing a complete IDE , an initial project structure with routing and Redux , DevServer , HMR, testing tools and many other interesting features, like analytics. Even in the generated project, vendor magic is completely absent, like react-scripts in create-react-app , and you will not have any problems with migration.
3. If you choose Koa for the server, at least you won't have to learn another PL. Throwing an API on it is a trifling matter for an experienced developer, but you will have to study articles and repositories with examples on github . You can choose Express is the predecessor of Koa , and due to its age, articles and answers to typical questions on stackoverflow , there are more for it.
4. The choice of a DB is not basic.
5. Using Docker is also not necessary, but having figured it out right away, you will make your life much easier and will not face the situation that your project, which seemed to work locally, does not want to start on a remote server.
Well , I think Nginx and Git do not need to be presented and justified in terms of motivation for use.
It may also be a good solution to use cloud services like Amazon Web Services
.
Before you start learning these tools, you should definitely have a good knowledge of JavaScript , HTML and CSS .
For the application, you will need:
1. A website with a description of the service and a login/registration form
2. Client application
3. Admin panel
4. Mobile applications
Spend time on user stories, UML diagrams and interface diagrams. Use the issue tracker.
In my opinion, to learn all of the above, and to start, apparently, you have to start with the basics of JavaScript , HTML and CSS , it will take a lot of time. To learn how to write good code after studying all of the above, it will take even more time. It's one thing to learn tools, it's quite another to learn how to write good code, solve typical problems, organize architecture. And to solve the tasks of all plans, you will have to both front-end and back-end.
It's easier, I think, to move from the work of a designer to web development. The learning process will go faster, and in a strong team you will quickly learn how to solve typical tasks, write good code and get the right idea about the organization of application architecture, and project development in general. Otherwise, you run the risk of writing a mountain of unsupported, unscalable, error-resistant, full of bugs code, which you eventually abandon after futile attempts to somehow put it in order.
If there is already a strong competitor on the market and your service will simply repeat its business model, then it is unlikely to take off, just waste your time and energy. Be sure to study the market before doing anything.
At the same time, as you understand, there is no goal to learn the entire language, to become a super-programmer.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question