- 60
- 274 815
Encore
Sweden
เข้าร่วมเมื่อ 15 ก.พ. 2021
Open Source Development Platform for building robust type-safe distributed systems with declarative infrastructure.
Encore provides Open Source development tools, from local development to your cloud:
- Backend frameworks: Encore.ts and Encore.go simplify defining services and type-safe APIs, and provide a declarative approach to define infrastructure in code.
- Local development environment: Automates local infrastructure and provides a built-in local development dashboard with Tracing, Service Catalog, and API Explorer.
- Infrastructure integration: Encore provides open source tooling to simplify integrating with cloud infrastructure, and offers a Cloud Platform that fully automates DevOps and infrastructure provisioning in your cloud on AWS and GCP.
In this channel, we'll post how-to videos and tutorials to help you build backend applications with ease, and show you how to get the most out of Encore.
Encore provides Open Source development tools, from local development to your cloud:
- Backend frameworks: Encore.ts and Encore.go simplify defining services and type-safe APIs, and provide a declarative approach to define infrastructure in code.
- Local development environment: Automates local infrastructure and provides a built-in local development dashboard with Tracing, Service Catalog, and API Explorer.
- Infrastructure integration: Encore provides open source tooling to simplify integrating with cloud infrastructure, and offers a Cloud Platform that fully automates DevOps and infrastructure provisioning in your cloud on AWS and GCP.
In this channel, we'll post how-to videos and tutorials to help you build backend applications with ease, and show you how to get the most out of Encore.
How to use ORMs (Prisma / Drizzle / Knex.js) in a TypeScript backend built with Encore.ts
Let's take a look at how you can use ORMs like Primsa / Drizzle / Knex when building a TypeScript backend with Encore.ts.
Links
Encore.ts on GitHub: github.com/encoredev/encore
Encore examples repo: github.com/encoredev/examples
Discord community: encore.dev/discord
Installation
macOS: brew install encoredev/tap/encore
Linux: curl -L encore.dev/install.sh | bash
Windows: iwr encore.dev/install.ps1 | iex
Chapters
00:00 - Intro
00:28 - Creating databases
01:22 - Querying/Inserting in databases
02:10 - Running locally
02:27 - Tracing
02:40 - What are ORMs
03:30 - Prisma
04:55 - Drizzle
05:35 - Knex.js
06:20 - Deployment
Links
Encore.ts on GitHub: github.com/encoredev/encore
Encore examples repo: github.com/encoredev/examples
Discord community: encore.dev/discord
Installation
macOS: brew install encoredev/tap/encore
Linux: curl -L encore.dev/install.sh | bash
Windows: iwr encore.dev/install.ps1 | iex
Chapters
00:00 - Intro
00:28 - Creating databases
01:22 - Querying/Inserting in databases
02:10 - Running locally
02:27 - Tracing
02:40 - What are ORMs
03:30 - Prisma
04:55 - Drizzle
05:35 - Knex.js
06:20 - Deployment
มุมมอง: 4 356
วีดีโอ
Building Type-Safe Event-Driven Applications in TypeScript using Pub/Sub, Cron Jobs, and PostgreSQL
มุมมอง 82K19 ชั่วโมงที่ผ่านมา
We show you how to convert a normal microservices app to a type-safe event-driven architecture using Pub/Sub, Cron Jobs, PostgreSQL, and Encore.ts (an open source TypeScript backend framework for Node.js). We show you how to run your entire system locally without needing tools like Docker Compose, LocalStack, or writing YAML. Links mentioned - Encore.ts on GitHub: github.com/encoredev/encore - ...
Node.js Frameworks Roundup 2024 - Elysia / Hono / Nest / Encore - Which should you pick?
มุมมอง 6K21 วันที่ผ่านมา
Which is the best Open Source Node backend framework in 2024? We've compared Elysia / Hono / Nest / Encore.ts to see how they compare for Speed, Scalability, Simplicity, and Type-Safety. *Links mentioned in the video* - github.com/encoredev/encore - Benchmark code: github.com/encoredev/ts-benchmarks - encore.dev - hono.dev/ - nestjs.com/ - elysiajs.com/ *Chapters* 00:00 Intro 00:30 The framewor...
Interactive tutorials - learn how to built type-safe backends with Node.js & Encore.ts
มุมมอง 28228 วันที่ผ่านมา
Learn how to build type-safe backends with Encore.ts, an open source backend framework for TypeScript (Node.js). Links in the video - github.com/encoredev/encore - encore.dev Install Encore macOS: $ brew install encoredev/tap/encore Linux: $ curl -L encore.dev/install.sh | bash Windows: $ iwr encore.dev/install.ps1 | iex Start the interactive tutorial $ encore app create example=ts/introduction
Encore.ts vs Elysia vs Hono vs Fastify vs Bun vs Express - TypeScript framework shootout
มุมมอง 4.5Kหลายเดือนก่อน
Which is the fastest TypeScript framework? We benchmarked popular and high-performance TypeScript frameworks to find out which is the fastest among: Elysia, Hono, Fastify, Encore.ts, Bun, and Express. Check out the results. Links mentioned: - Encore.ts on GitHub: github.com/encoredev/encore - Benchmark code: github.com/encoredev/ts-benchmarks - Encore.ts Rust runtime explained: encore.dev/blog/...
Encore.ts - 9x faster than Express.js (feature comparison and migration guide)
มุมมอง 33Kหลายเดือนก่อน
Encore.ts is an Open Source backend framework for TypeScript / Node.js Let's see how Encore.ts compares to Express.js, and learn how to unlock 9x API performance and features like distributed tracing and service catalog. Links: - Encore.ts on GitHub: github.com/encoredev/encore - Express.js to Encore.ts migration guide: encore.dev/docs/ts/how-to/express-migration - Encore's Rust runtime explain...
Encore local development dashboard
มุมมอง 1.4K2 หลายเดือนก่อน
A short demo of Encore's local development dashboard
How to let ChatGPT call functions in your app (TypeScript / Node.js)
มุมมอง 2K3 หลายเดือนก่อน
Full example code on GitHub, with instructions: github.com/encoredev/examples/tree/main/ts/gpt-functions See more ways to enhance your apps with AI, check out Encore's open source templates: github.com/encoredev/examples
Chatty Bots - Open Source LLM Chat Room with custom OpenAI & Gemini bots, Discord/Slack integrations
มุมมอง 3245 หลายเดือนก่อน
Create your own custom bots and chat with them at chatty.encore.dev Want to make it your own and add to your Discord / Slack? Check out the Open Source project: github.com/encoredev/examples/blob/main/ai-chat/ #opensource #aicoding #backend #programming #devcommunity #golang #fullstack #openai #llm
Encore - the Development Platform for TypeScript & Go
มุมมอง 11K5 หลายเดือนก่อน
Encore - the Development Platform for TypeScript & Go
Getting started with Encore for TypeScript
มุมมอง 1.4K6 หลายเดือนก่อน
Getting started with Encore for TypeScript
AI API Creator - Encore Launch Week Day 5
มุมมอง 8236 หลายเดือนก่อน
AI API Creator - Encore Launch Week Day 5
Launch Week Day 4: Fireside chat with Bill Kennedy
มุมมอง 2826 หลายเดือนก่อน
Launch Week Day 4: Fireside chat with Bill Kennedy
Encore x Neon Serverless Postgres - Launch Week Day 3
มุมมอง 3316 หลายเดือนก่อน
Encore x Neon Serverless Postgres - Launch Week Day 3
Encore now Open Source with New affordable Pro tier option - Launch Week Day 2 Livestream
มุมมอง 5996 หลายเดือนก่อน
Encore now Open Source with New affordable Pro tier option - Launch Week Day 2 Livestream
Launch Week - Day 1 - Community Livestream
มุมมอง 1946 หลายเดือนก่อน
Launch Week - Day 1 - Community Livestream
Encore.ts - TypeScript Backend Framework for Node.js
มุมมอง 21K6 หลายเดือนก่อน
Encore.ts - TypeScript Backend Framework for Node.js
DevOps Automation for Startups using Go (How to 3x your team's speed using next-gen tooling)
มุมมอง 6509 หลายเดือนก่อน
DevOps Automation for Startups using Go (How to 3x your team's speed using next-gen tooling)
How to deploy a Golang Backend to Kubernetes
มุมมอง 1.1K11 หลายเดือนก่อน
How to deploy a Golang Backend to Kubernetes
Encore Local Dev Dash - Flow Architecture Diagram
มุมมอง 184ปีที่แล้ว
Encore Local Dev Dash - Flow Architecture Diagram
Using Distributed Tracing to Speed up Local Development
มุมมอง 388ปีที่แล้ว
Using Distributed Tracing to Speed up Local Development
Distributed Tracing Explained: Use cases, the best tools, and getting it to work locally
มุมมอง 589ปีที่แล้ว
Distributed Tracing Explained: Use cases, the best tools, and getting it to work locally
Simple Cloud Infrastructure Configuration for AWS and GCP
มุมมอง 385ปีที่แล้ว
Simple Cloud Infrastructure Configuration for AWS and GCP
One problem I see with Encore and databases (or at least I didn't know how to do it) is that each service has to have its own database and it doesn't allow you to use a shared one. For those who are starting a project and are interested in starting with a monolithic project or even using the power of relationships between tables, I didn't find how to make this work.
Hi, sharing databases between services is in fact supported. Here is the relevant docs section: encore.dev/docs/ts/primitives/databases#sharing-databases-between-services
i use prisma
Looking good :)
This is awesome!
my team and I really hoped to use encore, but we can't build a docker Image, and as it turned out, others already created an issue three weeks ago. Unfortunately, there is no reaction from the developers.
Hey, Discord is our main community so if you want a fast response please join and we'll help you out: encore.dev/discord
We mainly use Discord (encore.dev/discord) join there for faster help!
I am using Hono + OpenAPI + Zod with Adapter Port Pattern ( Hexagonal Architecture ). In addition, serviceweaver is a good choice but The Google is going to stop it soon.
trying that encore ts thing.. trying to figure out what is the raison d'etre of that platform so far it looks good
What the Cloud Platform offers is a way to fully automate DevOps (CI/CD, infrastructure provisioning, etc.) using your own cloud on AWS or GCP. So you wouldn't need to set up any manual infra and not do any manual config.
I think we need an example of partial or full migration from a fastify project to encore. I mean, not only how to make the base api endpoints and use database. Fastify have great plugin system, and from the docs you know how to guard routes, how to make auth, how to validate every part of request, params, response or even headers. With encore you know only that it a good replacement of express 😢.
Thanks for the suggestion, that's a good idea! There are however already docs on how to do those things, you can start here: encore.dev/docs/ts/primitives/apis encore.dev/docs/ts/primitives/validation encore.dev/docs/ts/develop/auth Join Discord if you have questions: encore.dev/discord :)
we need detailed example with drizzle, because to see only the migration file sql it is not enough. I mean how to use it with your postgres db integration correctly?
Here's an example app: github.com/encoredev/examples/tree/main/ts/drizzle If you have questions, please ask on Discord: encore.dev/discord :)
the best for backend
What are the VS Code extensions you are using? In particular, the one that makes types so distinctly seperated from the code?
In this video we're using IntelliJ actually
TypeScript for event-driven apps sounds great! 😃 Looking forward to seeing more on Pub/Sub, Cron Jobs, and PostgreSQL. 🤩
Love the shades in the end!
Awesome video!
Thanks!
express is still our go to framework
Then perhaps this is more relevant: th-cam.com/video/hA9syK_FtZw/w-d-xo.html
Thanks for the tutorial! I will give Encore a shot :) May i asked you what IDE are you using ? (at 9:20)
Thanks, the IDE is IntelliJ :)
I just want to quickly mention that Elysia also works with CF Workers. There’s a little bit of initial configuration you need to do, but it is an option. From my recent experience with both Hono and Elysia working on a user-facing CMS platform, Hono structures routes such that you’ll want to define authorization per route, whereas Elysia made it much easier to use a top level “auth table” pattern. I’m not saying one is better than the other, but the latter had been a requirement for my situation.
Any plans for mysql support out of the box?
A bit further down the line (some time next year) yes. Until then you can work with mysql databases as you would do traditionally.
Nestjs man. Look at the framework evolving. It is Django of node frameworks
When it comes nestjs overcome express, see the GitHub stars when web started everybody was doing stuff in html CSS and J's and overlong run companies understand that long terms maintaining, hacking attempts on framework without solid framework code business so heavily. Nest js become clear market winner and more likely when bun comes to picture very shortly and framework like nestjs could work on top of that with little support. So regardless of small or big companie, most started sticking to nestjs do backends
Redo the video when you've compared Deepkit. Thank me later.
Man that local development infrastructure of Encore looked sleek!
Does encore run on bun? If yes, does it benefit from it compared to node?
Bun is not yet officially supported, coming soon though. Don't expect a huge performance uplift since even when running on Node, Encore.ts uses a lot of Rust powered goodness. So we expect the uplift from replacing Node with Bun is going to be quite small.
Would it make sense to use nestjs with encore, where encore provides the outermost layer like the http handling, and from controllers inwards, we utilize the nest decorators and functions?
Yes, definitely! Here is a tutorial for how you can set that up: encore.dev/docs/ts/how-to/nestjs
#Fastify the king
My only issue is the validation that uses typescript interfaces..the validation could at least be using json schema validation..
You missed adonis js…explore it and build a video
Thanks for the suggestion
does this works only with node.js ? Or does Encore supports bun and Deno ?
Right now node.js is officially supported, bun/deno coming soon.
have you tested with bun or node?
You can see all the benchmark code here. Encore.ts using Node, Elysia using Bun - github.com/encoredev/ts-benchmarks/tree/main/requests
I am very impressed with the infra diagram and the encore-cloud migrating to self host templates. You guys should focus content on that, other solutions like winglang and pulumi are not javascript friendly or just incomplete. The observability also looks nice.
Thanks for the suggestion!
Encore is too much magic in my opinion
Things often seem like magic until you understand them better. :) Here are some resources that explain how it works: - Intro video: th-cam.com/video/zr3OXQKbaHQ/w-d-xo.html - More details on the rust runtime: encore.dev/blog/event-loops - Soure code for the TS parser: github.com/encoredev/encore/tree/main/tsparser - Source code for the runtimes: github.com/encoredev/encore/tree/main/runtimes/
Tbh , i am skeptical , you guys did a great work no doubt on that , but trusting a benchmark from the company which developed the framework might not be the best place to evaluate frameworks , and on the rust runtime , yest it is faster , but it might be a deal breaker for certain things like edge runtimes and the rust binary might also cause overhead ( reason why prisma was hated ). Last but not least the tech giant that i use on my day to day life Vercel is known for messing up bench marks to come up with fancy marketing terms , So I'm just not conviced with the differences you are showing between these frameworks .
Yeah it's not for every single use case. Encore is more for backends which deal with data and state, not really for running on the edge. You can use it together with a thinner application running on the edge.
i'm still confuse deploying encore go to virtual private cloud like digital ocean. I need tutorial
Here you go: encore.dev/docs/self-host/deploy-digitalocean
The world of JavaScript is chaotic. Infinite number of frameworks. And there will be an infinite number of runtime in the future 😂. A toy programming language made in 10 days now has the biggest community. The creator didn't realize what he did💀
It's like saying the roads are chaotic because there are so many different car models 🤦♂️
It's a feature, not a bug.
Gave a simple entry point to millions, simplified server programming
Without caching support Encore.ts really struggles to keep up with the rest
When you use the Cloud Platform to deploy and use the Custom Domain feature, you already get edge caching built-in via CloudFlare workers. Using Redis caching in your app is coming soon though, already supported for Encore.go :)
Encore is really interesting but the thing that hesitates me to use it is unlike Hono, there are less video tutorials about it that talks about creating multiple services and deploying it. I hope Encore would release an advanced full typescript course from creation to deployment. Is Encore more meant for Enterprise because it's going to be expensive to deploy multiple services than a monolith? This one is really interesting but if operating cost would be too expensive then maybe it's more targeted for large companies not hobbyists. 😅
We hear you - more video tutorials are coming! Here are is a written tutorial for building microservices app: - encore.dev/docs/tutorials/uptime And there are several example apps using microservices here: - github.com/encoredev/examples Encore isn't opinionated about how you structure your system, but the cool part is your code can be service oriented and you can still deploy as a monolith. Then once you hit scale, you can deploy using separate services without changing a single line of code.
Can I run Encore.ts in a VPS?
Yes. Here's an example tutorial for deploying to DigitalOcean: encore.dev/docs/self-host/deploy-digitalocean
Yep, here's a DigitalOcean tutorial: encore.dev/docs/self-host/deploy-digitalocean
Hey encore team, I opened an issue in the repository of your performance benchmarks asking why I cant seem to get the best performance in speed and throughput using encore vs Elysia. Elysia was able to receive 100-120k RPS while Encore seems to be capped at 2-3k RPS? Would love to really understand how to make encore run better as it looks really promising from a dev UX perspective
I remember trying this as well and had a similar experience. I think in development mode all the request logging slows down the RPS by a lot, maybe if there's a way to disable it it will benchmark better.
problem is in logging, and fr i have no idea how to stop them lol
That seems really strange. We're mainly using Discord though so join there and we can assist: encore.dev/discord
Yeah was wondering if it might be logging but at the same time it was on a local MacBook Pro m2 pro. But literally ran the codebase from the repo provided…
@@JeffLamth if you add logging to Elysia it also slows down to a crawl, so logging definitely plays a huge role
how can we handle complex validations with encore like validating if a string is email or of some specific regex or number is min or max ? 7:32 as you mentioned express+zod and hono+typebox these libs provide good validations with typesafety how can we achieve the same flexibility with encore ?
Hey! Great question. The built-in validation in Encore does not support those types of validations right now. If you want to validate for example that a string is an email you would have to do that validation inside the API handler function, which also works great.
@@encoredev Wouldn't you lose out on the performance benefits you are highlighting in this video then?
exactly, I get it The encore is fast and good but the comparison looks like comparing between oranges and apples maybe try to compare both using the same validation libs with same validations attached to a route
I'm already using it in my projects, now I want to know what the websoquet looks like
Nice! Here is our docs for how to use WebSockets with Encore: encore.dev/docs/ts/primitives/streaming-apis
What ide you use?
intellij!
webstorm
the best
Awesome video
Thanks! Glad you enjoyed it
Why not fastify
Fastify is also great framework but had to limit the number of frameworks to keep the video short and sweet. Fastify is mentioned in the performance section about 7:07 in the video.
I like this, can I define API like hono syntax, like app.get('/', (c) => { c.text('Hono!')) }
You can use Encore.ts syntax: encore.dev/docs/ts/primitives/apis
5 moths ago and now we still awaiting this feature for TS? :(
Yeah it's been a bit delayed, but mostly because it's not been highly requested by Encore.ts users. Thanks for posting about your interest, it's good feedback!
good
Is it ready to go into production?
It's being used in production by several companies. Some are on here: encore.dev/showcase
@@encoredev Very good, I started studying Encore TS, and also Encore Go, I'm really enjoying the speed and performance, it's wonderful, I'm investing in this framework, I'm going to start creating content in Portuguese for the cplp community
I'm really enjoying working with Encore TS.... I'll soon make videos about it and put it into production....
I don't believe this at at all. Is this benchmark comparing single threaded bun vs multi threaded encore? Encore's request path without validation: request deserialized into rust -> request serialized into format that can be passed cross-process -> request deserialized by node process -> response serialized by node process. Web server in node request path -> request deserialized by node process -> response serialized by node process. The encore path is pure overhead, I'd love for them share why this is faster. If the answer "because Rust" you have to remember Buns HTTP server IS written in native code, as is Node's (V8). So the addition of low level language code shouldn't actually make any difference.
Run the benchmark again on a single thread for all cases OR run Bun/Node in multi-threaded mode using the .fork/spawn API's
What about the latency? Throughput is nice to know, but does not really matter if you can scale horizontally besides cost.
We haven't had a chance to benchmark all frameworks for latency yet, but here are the latency benchmarks we have published so far: encore.dev/blog/event-loops#encorets-has-80-less-response-latency-than-expressjs
@@encoredev Thank you for the fast reply! This looks promising, I'll try it out this weekend.