Remote Functions. Instead of API

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • vike

    🔨 Like Next.js / Nuxt but as do-one-thing-do-it-well Vite plugin.

  • Author of Telefunc here. I'm glad folks are finally taking RPC seriously.

    RPC is back. Smarter, leaner, and stronger. (Sorry for the marketing jargon, but I really do believe that.)

    Telefunc is still fairly young, you can expect a lot of polishing in the coming weeks/months. The high-level design is solid and I expect no breaking change on that end.

    If you encounter any bug (or DX paper cut), please create a GitHub Issue and I'll fix it. I'm also the author of https://vite-plugin-ssr.com which also has no known bug, so I do take that claim seriously.

    Let me know if you have any questions!

  • telefunc

    Remote Functions. Instead of API.

  • > My experience was that for the simplest use cases, the ergonomics were unbeatable.

    Exactly.

    > the “just a function” interface was a distraction and I found myself wishing for a more conventional RPC interface.

    For real-time use cases, I agree. I believe functions are the wrong abstraction here for real-time. I do plan to support real-time but using a "it's just variables" abstraction instead, see https://github.com/brillout/telefunc/issues/36.

    > cleverer abstractions usually mean more work overall to integrate everything and boring is better.

    Yes, Telefunc's downside is that it requires a transformer. The Vite and Webpack one are reliable and used in production (using `es-module-lexer` under the hood). The hope here is that, as Telefunc's popularity grows, more and more stacks are reliably supported. Also, there is a prototype using Telefunc without a transformer at all, which works but needs polishing.

    > I experimented with a higher-magic version of this a couple of years ago.

    Neat, curious, is it on GitHub?

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Protobuf

    Protocol Buffers - Google's data interchange format

  • https://developers.google.com/protocol-buffers

  • grpc-web

    gRPC for Web Clients

  • Really odd how there is a dozen comments on RPC but no one mentioned gRPC for the web browser. Google goes in the reverse, where from both protobuf you autogenerate API boilerplate, client stubs and even REST-over-HTTP apis.

    https://github.com/grpc/grpc-web

  • phero

    Full-stack type-safety with pure TypeScript

  • Whoa, that’s so similar to our project [1] it’s almost scary :)

    How are errors handled though? What happens when you “throw Abort()”.

    https://github.com/samen-io/samen

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts