Git Product home page Git Product logo

soylentbob / hilla Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vaadin/hilla

0.0 0.0 0.0 20.31 MB

Build better business applications, faster. No more juggling REST endpoints or deciphering GraphQL queries. Hilla seamlessly connects Spring Boot and React to accelerate application development.

Home Page: https://hilla.dev

License: Apache License 2.0

Shell 0.13% JavaScript 1.29% Java 63.10% Kotlin 1.78% TypeScript 33.05% CSS 0.37% HTML 0.28%

hilla's Introduction

Hilla

The modern web framework for Java

Latest Stable Version Releases

hilla.dev · Docs · Chat


Hilla integrates a Spring Boot Java backend with a reactive TypeScript front end. It helps you build apps faster with type-safe server communication, included UI components, and integrated tooling.

Simple type-safe server communication

Hilla helps you access the backend easily with type-safe endpoints.

index.ts

// Type info is automatically generated based on Java
import Person from 'Frontend/generated/dev/hilla/demo/entity/Person';
import { PersonEndpoint } from 'Frontend/generated/endpoints';

async function getPeopleWithPhoneNumber() {
  const people: Person[] = await PersonEndpoint.findAll();

  // Compile error: The property is 'phone', not 'phoneNumber'
  return people.filter((person) => !!person.phoneNumber);
}

console.log('People with phone numbers: ', getPeopleWithPhoneNumber());

PersonEndpoint.java

@Endpoint
@AnonymousAllowed
public class PersonEndpoint {

    private PersonRepository repository;

    public PersonEndpoint(PersonRepository repository) {
        this.repository = repository;
    }

    public @Nonnull List<@Nonnull Person> findAll() {
        return repository.findAll();
    }
}

Person.java

@Entity
public class Person {

    @Id
    @GeneratedValue
    private Integer id;

    @Nonnull private String firstName;
    @Nonnull private String lastName;
    @Email @Nonnull private String email;
    @Nonnull private String phone;

    // getters, setters
}

Learn more at hilla.dev

Get started

Follow the tutorials at https://hilla.dev/docs

Contributing

The best way to contribute is to try out Hilla and provide feedback to the development team in our Discord chat or with GitHub issues.

Development

If you want to develop Hilla, you can clone the repo and run tests using the following commands:

git clone https://github.com/vaadin/hilla.git
npm install
npm run build
npm test

You need the following versions of Node.js and npm:

  • Node.js: >= 18 LTS (native support for ES Modules and NodeJS execution of the newest hooks),
  • npm: ^9 (package-lock.json is of version 3)

Frontend CI Java CI codecov

hilla's People

Contributors

artur- avatar platosha avatar lodin avatar cromoteca avatar vaadin-bot avatar haijian-vaadin avatar sissbruecker avatar dependabot[bot] avatar taefi avatar zhesun88 avatar manolo avatar snyk-bot avatar haprog avatar caalador avatar vursen avatar tarekoraby avatar fluorumlabs avatar mshabarov avatar web-padawan avatar gilberto-torrezan avatar tdq avatar krissvaa avatar jouni avatar aspan avatar alvarezguille avatar jojule avatar mcollovati avatar mvysny avatar simasch avatar tatulund avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.