Giter VIP home page Giter VIP logo

Comments (11)

athealy avatar athealy commented on May 14, 2024
  1. Why do we separate servers' code into two programming languages?
    a: I think using NestJS is to extend the modular design concept to the front-end architecture. NestJS focuses on the implementation of front-end display modularity and makes reasonable use of the computing power of the client. Spring boot is to standardize the back-end architecture, facilitating the compatibility of application services and the continuation of development specifications.

from apitable.

impactCn avatar impactCn commented on May 14, 2024
  1. I feel that nestJS is used for front-end template rendering, putting some page rendering on the server side, and the middle layer, which processes data directly. springBoot is for data calculation, CURD and the like.
    MVC to MVVC ?
  2. I have the impression that Taobao has also designed it like this.
  3. In springBoot, the convention is greater than the configuration, and there is no such thing in nestJS. In addition, I feel that nestJS is more like a small springBoot.

from apitable.

sword-zjp avatar sword-zjp commented on May 14, 2024
  1. I think the reason for splitting into two back-end services is to separate different businesses. The NestJS for backend server does some relatively simple businesses and some IO processing. And The spring boot server does some relatively complex and data computing businesses.
  2. No,I haven't seen a similar architecture yet.
  3. NestJS is more inclined to Web application services, lighter, faster, better at handling I/O tasks, and has low memory usage;And the Spring Boot has a large number of mature components, supports multi-threading, is easier to maintain, and can support larger and more complex projects.

from apitable.

xunpengliu avatar xunpengliu commented on May 14, 2024

I check backend-server code, room-server code and datasheet code. datasheet-server axios default base url is /api/v1.
If request is xhr backend-server will handle.
If request is ws, socket-server->room-server will handle.
I think this design is because node server can handle many more connection.Because node is asyn, but spring container is sync.
So when server have many more connection,jvm need more memory.

from apitable.

rockdodos avatar rockdodos commented on May 14, 2024
  • Have you ever seen a similar architect in another case?

    My previous team used Java, C#, PHP as backend server,we choose it for
    different business,such as Game-server with Java and Game-map-editor with C#.
    different languages good at different domain,your team member is also like this.

  • Why do we separate servers' code into two programming languages?

    I am not familiar with NextJS and your business,from my experience, the answer to the above question can be used as my guess.

from apitable.

athealy avatar athealy commented on May 14, 2024

2)Have you ever seen a similar architect in another case?
A: The project I participated in before did not use two sets of frameworks in different languages to implement the same or similar services on the back-end services, but there will be services with different functions providing interfaces on the microservice architecture, which will use different development languages. So I also think that the same functions or similar back-end services should not be developed in different languages, so as to reduce the cost of development and maintenance.

from apitable.

athealy avatar athealy commented on May 14, 2024

3)What are the philosophical differences between the NestJS framework and Spring Boot?
A: From the perspective of design purpose, I think NestJS is to modularize some common functions into back-end components, and Spring boot is the running base of these common functions. Other issues are all about different development languages, so that front-end developers can also do back-end design? Maybe we should consider the cost performance of the system!

from apitable.

lin6552110 avatar lin6552110 commented on May 14, 2024

1、The two services have different functions.I guess.use nestJS you want the  backend servers are developed by Front-End Engineer quickly

2、I've never seen a similar architect in another case before

3、NestJs can be regarded as the springboot framework for the node.js version,NestJs more lightweight,fast.springboot has lots of plugins,can combine Spring Boot with Spring Cloud’s rich set of supporting libraries, servers, patterns, and templates.

from apitable.

doucheng avatar doucheng commented on May 14, 2024

For sharing of OT-related code between client and server ?

from apitable.

lzc-up avatar lzc-up commented on May 14, 2024

In my option, decoupling it's important for developing software.

  1. Front-back-separation is convenient for localtion the issue and quickly release the version
  2. My previous experience used Java as backend server, vue as fronted server
  3. I haven't used NextJS yet. SpringBoot solgen is convention over configuration, The advantages outweigh the disadvantages if we obey the standard rules

from apitable.

huanghantao avatar huanghantao commented on May 14, 2024

I think the main reason is to share the OT (Operational Transformation) code, for example, the multi-user collaboration OT in cloud documents tends to be implemented using JavaScript. It's mainly an issue of ecosystem preference.
When I wanted to refer to the OT implementation of APITable, I looked at the Java code, and unfortunately, I found that there was no part related to OT.

from apitable.

Related Issues (20)

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.