What is JHipster and what are its top alternatives?
JHipster is a popular open-source development platform that generates web applications using the Spring Boot backend and Angular front-end frameworks. It provides a powerful set of tools for creating and deploying modern web applications quickly. Key features include CRUD scaffolding, authentication and authorization mechanisms, automated testing, and Docker support. However, some limitations of JHipster include its steep learning curve for beginners and a complex project setup process.
Spring Boot: Spring Boot is a popular Java-based framework that simplifies the development of standalone, production-grade Spring-based applications. Key features include a wide range of built-in dependencies, auto-configuration, and ease of deployment. Pros of Spring Boot compared to JHipster include a more lightweight and flexible approach, while cons may include the need for manual configuration in some cases.
Micronaut: Micronaut is a modern, JVM-based framework designed for building modular, easily testable microservices and serverless applications. Key features include minimal memory consumption, fast startup times, and support for multiple programming languages. Pros of Micronaut compared to JHipster include improved performance and reduced memory usage, while cons may include a smaller community and fewer available plugins.
Quarkus: Quarkus is a Kubernetes-native Java framework tailored for GraalVM and HotSpot, offering fast boot times and low memory usage. Key features include seamless integration with popular Java libraries and frameworks, reactive programming support, and cloud-native capabilities. Pros of Quarkus compared to JHipster include enhanced efficiency and reduced resource consumption, while cons may include a steeper learning curve for some developers.
Vaadin: Vaadin is a Java web application framework that simplifies building modern web apps with Java. Key features include a rich set of components, client-server communication handled by the framework, and support for Java development. Pros of Vaadin compared to JHipster include a more user-friendly and intuitive UI development experience, while cons may include limited customization options compared to Angular or React.
Grails: Grails is a framework built on top of Spring Boot and provides a Groovy-based approach to building web applications. Key features include convention over configuration, seamless integration with Spring and other Java libraries, and a productive development environment. Pros of Grails compared to JHipster include increased developer productivity and simplified configuration, while cons may include a smaller community and fewer available plugins.
Play Framework: Play Framework is a Java and Scala web application framework that focuses on developer productivity and scalability. Key features include hot code reloading, a non-blocking I/O API, and asynchronous programming support. Pros of Play Framework compared to JHipster include enhanced performance and scalability, while cons may include a more specialized use case and potential learning curve for developers new to reactive programming.
Dropwizard: Dropwizard is a high-performance Java framework for building RESTful web services. Key features include an integrated Jetty server, metrics and health checks, and seamless configuration management. Pros of Dropwizard compared to JHipster include improved performance and reduced overhead, while cons may include a narrower focus on RESTful services and less built-in functionality for frontend development.
Spark Framework: Spark is a lightweight Java web framework that is ideal for creating REST APIs and microservices. Key features include simplicity, modularity, and a fast and expressive DSL. Pros of Spark Framework compared to JHipster include a minimalist approach and ease of use, while cons may include limited functionality for complex web applications and a smaller plugin ecosystem.
Ratpack: Ratpack is a lightweight, asynchronous web framework for Java that focuses on high performance and developer productivity. Key features include composition over inheritance, reactive programming support, and a simple and flexible API. Pros of Ratpack compared to JHipster include increased performance and scalability, while cons may include a smaller community and potential learning curve for developers unfamiliar with reactive programming concepts.
Dropwizard: Dropwizard is a high-performance Java framework for building RESTful web services. Key features include an integrated Jetty server, metrics and health checks, and seamless configuration management. Pros of Dropwizard compared to JHipster include improved performance and reduced overhead, while cons may include a narrower focus on RESTful services and less built-in functionality for frontend development.
Top Alternatives to JHipster
- Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. ...
- Grails
Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features. ...
- Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
- Yeoman
Yeoman is a robust and opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful, compelling web apps. It is comprised of yo - a scaffolding tool using our generator system, grunt - a task runner for your build process and bower for dependency management. ...
- CUBA Platform
It is a high-level open-source Java web framework for the rapid development of enterprise applications. The platform abstracts developers from underlying technologies so they can focus on the business tasks, whilst retaining full flexibility by providing unrestricted access to low-level code. Applications are developed in Java, with the user interface declared in XML. A rich set of features covers most typical project requirements and development tools reduce boilerplate code and facilitate truly rapid development. ...
- JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles. ...
- Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best. ...
- Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ...
JHipster alternatives & related posts
Spring Boot
- Powerful and handy149
- Easy setup134
- Java128
- Spring90
- Fast85
- Extensible46
- Lots of "off the shelf" functionalities37
- Cloud Solid32
- Caches well26
- Productive24
- Many receipes around for obscure features24
- Modular23
- Integrations with most other Java frameworks23
- Spring ecosystem is great22
- Auto-configuration21
- Fast Performance With Microservices21
- Community18
- Easy setup, Community Support, Solid for ERP apps17
- One-stop shop15
- Easy to parallelize14
- Cross-platform14
- Easy setup, good for build erp systems, well documented13
- Powerful 3rd party libraries and frameworks13
- Easy setup, Git Integration12
- It's so easier to start a project on spring5
- Kotlin4
- Microservice and Reactive Programming1
- The ability to integrate with the open source ecosystem1
- Heavy weight23
- Annotation ceremony18
- Java13
- Many config files needed11
- Reactive5
- Excellent tools for cloud hosting, since 5.x4
- Java 😒😒1
- Still difficult1
related Spring Boot posts
I've been studying Java for approximately six months now, and I'm considering delving into Spring Boot. Recently, I've been contemplating learning a secondary language for leisure, allocating about 20% of my study time to it. I'm particularly keen on a technology that is widely used. Consequently, I opted for Python since I'm not overly interested in client-side aspects. The decision to concurrently learn another technology stems from the limited availability of Java resources, especially at the junior level where more diverse small projects could enhance my understanding of backend development. What are your thoughts on this approach to diversifying technologies? Does it seem sensible, or would it be more beneficial for me to allocate 100% of my time to Java?
We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.
To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas
To build #Webapps we decided to use Angular 2 with RxJS
#Devops - GitHub , Travis CI , Terraform , Docker , Serverless
- Groovy56
- Jvm40
- Rapid development38
- Gorm37
- Web framework30
- Open source25
- Plugins21
- Extensible17
- Easy17
- Dynamic14
- Clean architecture (Dependency Injection)6
- Gradle6
- Clear what everything does, lots of options5
- RAD4
- Agile4
- Great documentation4
- Android3
- Spring3
- Easy setup2
- Java web apps with steroid1
- Frequent breaking changes3
- Undocumented features2
related Grails posts
Some may wonder why did we choose Grails ? Really good question :) We spent quite some time to evaluate what framework to go with and the battle was between Play Scala and Grails ( Groovy ). We have enough experience with both and, to be honest, I absolutely in love with Scala; however, the tipping point for us was the potential speed of development. Grails allows much faster development pace than Play , and as of right now this is the most important parameter. We might convert later though. Also, worth mentioning, by default Grails comes with Gradle as a build tool, so why change?
Presently, a web-based ERP is developed in Groovy on Grails. Now the ERP is getting revamped with more functionalities. Is it advisable to continue with the same software and framework or try something new especially Node.js over ExpressJS?
- Rapid development675
- Open source488
- Great community426
- Easy to learn380
- Mvc277
- Beautiful code232
- Elegant223
- Free208
- Great packages203
- Great libraries194
- Comes with auth and crud admin panel80
- Restful79
- Powerful78
- Great documentation76
- Great for web72
- Python57
- Great orm43
- Great for api41
- All included32
- Fast29
- Web Apps25
- Clean23
- Easy setup23
- Used by top startups21
- Sexy19
- ORM19
- The Django community15
- Allows for very rapid development with great libraries14
- Convention over configuration14
- King of backend world11
- Full stack10
- Great MVC and templating engine10
- Mvt8
- Fast prototyping8
- Its elegant and practical7
- Easy to develop end to end AI Models7
- Batteries included7
- Cross-Platform6
- Very quick to get something up and running6
- Have not found anything that it can't do6
- Zero code burden to change databases5
- Great peformance5
- Python community5
- Easy Structure , useful inbuilt library5
- Easy to use4
- Map4
- Easy to change database manager4
- Full-Text Search4
- Just the right level of abstraction4
- Many libraries4
- Modular4
- Easy4
- Scaffold3
- Node js1
- Built in common security1
- Great default admin panel1
- Scalable1
- Gigante ta1
- Cons1
- Fastapi1
- Rails0
- Underpowered templating26
- Autoreload restarts whole server22
- Underpowered ORM22
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs8
- Configuration hell8
- Admin7
- Not as clean and nice documentation like Laravel5
- Python4
- Not typed3
- Bloated admin panel included3
- Overwhelming folder structure2
- InEffective Multithreading2
- Not type safe1
related Django posts
Hi, I have an LMS application, currently developed in Python-Django.
It works all very well, students can view their classes and submit exams, but I have noticed that some students are sharing exam answers with other students and let's say they already have a model of the exams.
I want with the help of artificial intelligence, the exams to have different questions and in a different order for each student, what technology should I learn to develop something like this? I am a Python-Django developer but my focus is on web development, I have never touched anything from A.I.
What do you think about TensorFlow?
Please, I would appreciate all your ideas and opinions, thank you very much in advance.
Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.
Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.
For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.
However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.
All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.
- Lightning-fast scaffolding121
- Automation83
- Great build process78
- Open source57
- Yo49
- Unit Testing8
- Even harder to debug than Javascript1
related Yeoman posts
- Lots out of the box1
- Java1
- Component based1
related CUBA Platform posts
JavaScript
- Can be used on frontend/backend1.7K
- It's everywhere1.5K
- Lots of great frameworks1.2K
- Fast899
- Light weight746
- Flexible425
- You can't get a device today that doesn't run js392
- Non-blocking i/o286
- Ubiquitousness237
- Expressive191
- Extended functionality to web pages55
- Relatively easy language49
- Executed on the client side46
- Relatively fast to the end user30
- Pure Javascript25
- Functional programming21
- Async15
- Full-stack13
- Its everywhere12
- Future Language of The Web12
- Setup is easy12
- JavaScript is the New PHP11
- Because I love functions11
- Like it or not, JS is part of the web standard10
- Everyone use it9
- Can be used in backend, frontend and DB9
- Easy9
- Expansive community9
- For the good parts8
- Easy to hire developers8
- No need to use PHP8
- Most Popular Language in the World8
- Powerful8
- Can be used both as frontend and backend as well8
- It's fun7
- Its fun and fast7
- Popularized Class-Less Architecture & Lambdas7
- Agile, packages simple to use7
- Supports lambdas and closures7
- Love-hate relationship7
- Photoshop has 3 JS runtimes built in7
- Evolution of C7
- Hard not to use7
- Versitile7
- Nice7
- Easy to make something6
- Can be used on frontend/backend/Mobile/create PRO Ui6
- 1.6K Can be used on frontend/backend6
- Client side JS uses the visitors CPU to save Server Res6
- It let's me use Babel & Typescript6
- Clojurescript5
- Everywhere5
- Scope manipulation5
- Function expressions are useful for callbacks5
- Stockholm Syndrome5
- Promise relationship5
- Client processing5
- What to add5
- Because it is so simple and lightweight4
- Only Programming language on browser4
- Subskill #41
- Test21
- Easy to understand1
- Not the best1
- Easy to learn1
- Hard to learn1
- Easy to learn and test1
- Love it1
- Test1
- Hard 彤0
- A constant moving target, too much churn22
- Horribly inconsistent20
- Javascript is the New PHP15
- No ability to monitor memory utilitization9
- Shows Zero output in case of ANY error8
- Thinks strange results are better than errors7
- Can be ugly6
- No GitHub3
- Slow2
- HORRIBLE DOCUMENTS, faulty code, repo has bugs0
related JavaScript posts
Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.
But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.
But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.
Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.
How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
Python
- Great libraries1.2K
- Readable code965
- Beautiful code848
- Rapid development789
- Large community692
- Open source439
- Elegant394
- Great community283
- Object oriented274
- Dynamic typing222
- Great standard library78
- Very fast62
- Functional programming56
- Easy to learn52
- Scientific computing47
- Great documentation36
- Productivity30
- Matlab alternative29
- Easy to read29
- Simple is better than complex25
- It's the way I think21
- Imperative20
- Very programmer and non-programmer friendly19
- Free19
- Powerfull language17
- Machine learning support17
- Fast and simple16
- Scripting14
- Explicit is better than implicit12
- Ease of development11
- Clear and easy and powerfull10
- Unlimited power9
- It's lean and fun to code8
- Import antigravity8
- Print "life is short, use python"7
- Python has great libraries for data processing7
- Although practicality beats purity6
- Fast coding and good for competitions6
- There should be one-- and preferably only one --obvious6
- High Documented language6
- Readability counts6
- Rapid Prototyping6
- I love snakes6
- Now is better than never6
- Flat is better than nested6
- Great for tooling6
- Great for analytics5
- Web scraping5
- Lists, tuples, dictionaries5
- Complex is better than complicated4
- Socially engaged community4
- Plotting4
- Beautiful is better than ugly4
- Easy to learn and use4
- Easy to setup and run smooth4
- Simple and easy to learn4
- Multiple Inheritence4
- CG industry needs4
- List comprehensions3
- Powerful language for AI3
- Flexible and easy3
- It is Very easy , simple and will you be love programmi3
- Many types of collections3
- If the implementation is easy to explain, it may be a g3
- If the implementation is hard to explain, it's a bad id3
- Special cases aren't special enough to break the rules3
- Pip install everything3
- No cruft3
- Generators3
- Import this3
- Can understand easily who are new to programming2
- Securit2
- Should START with this but not STICK with This2
- A-to-Z2
- Because of Netflix2
- Only one way to do it2
- Better outcome2
- Good for hacking2
- Batteries included2
- Procedural programming2
- Sexy af1
- Automation friendly1
- Slow1
- Best friend for NLP1
- Powerful0
- Keep it simple0
- Ni0
- Still divided between python 2 and python 353
- Performance impact28
- Poor syntax for anonymous functions26
- GIL22
- Package management is a mess19
- Too imperative-oriented14
- Hard to understand12
- Dynamic typing12
- Very slow12
- Indentations matter a lot8
- Not everything is expression8
- Incredibly slow7
- Explicit self parameter in methods7
- Requires C functions for dynamic modules6
- Poor DSL capabilities6
- No anonymous functions6
- Fake object-oriented programming5
- Threading5
- The "lisp style" whitespaces5
- Official documentation is unclear.5
- Hard to obfuscate5
- Circular import5
- Lack of Syntax Sugar leads to "the pyramid of doom"4
- The benevolent-dictator-for-life quit4
- Not suitable for autocomplete4
- Meta classes2
- Training wheels (forced indentation)1
related Python posts
How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
Hi, I have an LMS application, currently developed in Python-Django.
It works all very well, students can view their classes and submit exams, but I have noticed that some students are sharing exam answers with other students and let's say they already have a model of the exams.
I want with the help of artificial intelligence, the exams to have different questions and in a different order for each student, what technology should I learn to develop something like this? I am a Python-Django developer but my focus is on web development, I have never touched anything from A.I.
What do you think about TensorFlow?
Please, I would appreciate all your ideas and opinions, thank you very much in advance.
Node.js
- Npm1.4K
- Javascript1.3K
- Great libraries1.1K
- High-performance1K
- Open source805
- Great for apis487
- Asynchronous477
- Great community425
- Great for realtime apps390
- Great for command line utilities296
- Websockets86
- Node Modules84
- Uber Simple69
- Great modularity59
- Allows us to reuse code in the frontend58
- Easy to start42
- Great for Data Streaming35
- Realtime32
- Awesome28
- Non blocking IO25
- Can be used as a proxy18
- High performance, open source, scalable17
- Non-blocking and modular16
- Easy and Fun15
- Easy and powerful14
- Future of BackEnd13
- Same lang as AngularJS13
- Fullstack12
- Fast11
- Scalability10
- Cross platform10
- Simple9
- Mean Stack8
- Great for webapps7
- Easy concurrency7
- Typescript6
- Fast, simple code and async6
- React6
- Friendly6
- Control everything5
- Its amazingly fast and scalable5
- Easy to use and fast and goes well with JSONdb's5
- Scalable5
- Great speed5
- Fast development5
- It's fast4
- Easy to use4
- Isomorphic coolness4
- Great community3
- Not Python3
- Sooper easy for the Backend connectivity3
- TypeScript Support3
- Blazing fast3
- Performant and fast prototyping3
- Easy to learn3
- Easy3
- Scales, fast, simple, great community, npm, express3
- One language, end-to-end3
- Less boilerplate code3
- Npm i ape-updating2
- Event Driven2
- Lovely2
- Creat for apis1
- Node0
- Bound to a single CPU46
- New framework every day45
- Lots of terrible examples on the internet40
- Asynchronous programming is the worst33
- Callback24
- Javascript19
- Dependency hell11
- Dependency based on GitHub11
- Low computational power10
- Very very Slow7
- Can block whole server easily7
- Callback functions may not fire on expected sequence7
- Breaking updates4
- Unstable4
- Unneeded over complication3
- No standard approach3
- Bad transitive dependency management1
- Can't read server session1
related Node.js posts
Needs advice on code coverage tool in Node.js/ExpressJS with External API Testing Framework
Hello community,
I have a web application with the backend developed using Node.js and Express.js. The backend server is in one directory, and I have a separate API testing framework, made using SuperTest, Mocha, and Chai, in another directory. The testing framework pings the API, retrieves responses, and performs validations.
I'm currently looking for a code coverage tool that can accurately measure the code coverage of my backend code when triggered by the API testing framework. I've tried using Istanbul and NYC with instrumented code, but the results are not as expected.
Could you please recommend a reliable code coverage tool or suggest an approach to effectively measure the code coverage of my Node.js/Express.js backend code in this setup?
I just finished the very first version of my new hobby project: #MovieGeeks. It is a minimalist online movie catalog for you to save the movies you want to see and for rating the movies you already saw. This is just the beginning as I am planning to add more features on the lines of sharing and discovery
For the #BackEnd I decided to use Node.js , GraphQL and MongoDB:
Node.js has a huge community so it will always be a safe choice in terms of libraries and finding solutions to problems you may have
GraphQL because I needed to improve my skills with it and because I was never comfortable with the usual REST approach. I believe GraphQL is a better option as it feels more natural to write apis, it improves the development velocity, by definition it fixes the over-fetching and under-fetching problem that is so common on REST apis, and on top of that, the community is getting bigger and bigger.
MongoDB was my choice for the database as I already have a lot of experience working on it and because, despite of some bad reputation it has acquired in the last months, I still believe it is a powerful database for at least a very long list of use cases such as the one I needed for my website