Answer the question
In order to leave comments, you need to log in
Recommend a Java based technology stack for a web application?
Please recommend a technology stack for a startup. The requirements are as follows:
1. Java. All participants are familiar with this language, so only it is considered.
2. The main functionality of the site is to display information from social networks, so a framework is needed that can simplify this task.
3. Scalability. If you like the service, then you will need to somehow expand it later.
4. Modern. Those. we would like to work with timeless technologies.
5. Extensibility. Those. the possibility of replacing some components.
Answer the question
In order to leave comments, you need to log in
Spring Framework of course. Unless of course you do not want anything particularly original (or paid). For integration with social networks, you can also search for individual components. Even if they are not natively integrated with Spring, anything can be integrated into it.
But the web stack in Java, how to put it mildly, is unnecessarily overloaded. How about not using it at all? Hire a good front-end developer, let him write you a fully dynamic UI (for example, jQuery UI), and your back-end in this case will be just a RESTful service. It’s both modern and fashionable, and you don’t have to bother with heavy technologies like JSF with their ten-story abstractions ...
Of the modern popular frameworks with a very low (in my opinion) entry threshold, I would first of all cite:
* Play! Framework playframework.com/
* Grails www.grails.org/
But personally, I have no experience with them, I just studied, got an idea, because. at work I deal with self-written solutions based on Spring.
I will add my opinion (I have experience in developing both enterprises and startups):
Spring Framework.
In addition to the authors of the other answers, I want to add one interesting detail about the development of web applications and their architecture.
Some web frameworks are designed to take on many database functions (for example, Grails uses a very convenient "GORM" ORM for this). Thus, choosing a similar framework and not having much experience with it, and looking at network examples of applications like PetStore (i.e. pocket applications for an example of the framework), you can accidentally mess up so that a functionality lock occurs inside a web application.
Example: By chance, it may happen that all the logic of asynchronous message processing ends up inside a web application. I saw it. The web app took 5 minutes to launch...
Immediately consider this when choosing an architecture, separate the functionality into layers.
For example,
1. backend for all non-web application logic in Spring
2. Grails front, only what is needed
3. Both modules can look at the same base, so you can use the best of both worlds, for example Spring -Data-JPA for the backend and GORM for the front.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question