PageSourceSearch

https://denote.dev/assets/js/4492522b.fc5add7e.js

js denote.dev collected 2026-10-04 07:41:40 UTC 6,597 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdenote=self.webpackChunkdenote||[]).push([[799],{4511:(e,n,t)=>{t.d(n,{Ay:()=>a,RM:()=>r});var i=t(4848),o=t(8453);const r=[{value:"Durable Execution",id:"durable-execution",level:3},{value:"Denote worker",id:"denote-worker",level:2},{value:"Activity/Action library",id:"activityaction-library",level:3},{value:"Polyglot/Dynamic worker",id:"polyglotdynamic-worker",level:3},{value:"Provider Agnostic",id:"provider-agnostic",level:3}];function s(e){const n={h2:"h2",h3:"h3",img:"img",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Durable Execution is a pattern for developing applications that are resilient to failures.",(0,i.jsx)("br",{}),"\nThe most common application type is a business workflow or automation."]}),"\n",(0,i.jsx)(n.p,{children:"Instead of providing a visual drag and drop interface or clunky config formats in YAML/JSON/XML,\ncontemporary durable execution providers/platforms have developer-friendly programming language SDKs (Software\nDevelopment Kits) to build workflow definitions. This is called workflow-as-code."}),"\n",(0,i.jsx)(n.p,{children:"The SDK encapsulates runtime code to communicate with the provider to handle deterministic replay of the workflow.\nEach provider has SDKs in multiple supported languages like JavaScript, Go, Java, etc."}),"\n",(0,i.jsx)(n.p,{children:"Though developers need to learn the concepts and SDKs in addition to managing the worker/service deployments."}),"\n",(0,i.jsx)(n.h3,{id:"durable-execution",children:"Durable Execution"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Denote worker",src:t(9323).A+"",width:"1495",height:"748"})}),"\n",(0,i.jsx)(n.p,{children:"Denote.dev is an attempt to tackle the complexity involved and create an even smoother developer experience for certain\ncommon use-cases by providing an open-source toolkit."}),"\n",(0,i.jsx)(n.p,{children:"The first one in the toolkit is the worker component.\nIt is in the development stage, and preview release for user feedback is under way."}),"\n",(0,i.jsx)(n.h2,{id:"denote-worker",children:"Denote worker"}),"\n",(0,i.jsx)(n.p,{children:"Denote worker is a static binary implemented in Rust"}),"\n",(0,i.jsx)(n.p,{children:"which has an"}),"\n",(0,i.jsx)(n.h3,{id:"activityaction-library",children:"Activity/Action library"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Denote worker",src:t(3363).A+"",width:"1161",height:"724"})}),"\n",(0,i.jsx)(n.p,{children:"and is a"}),"\n",(0,i.jsx)(n.h3,{id:"polyglotdynamic-worker",children:"Polyglot/Dynamic worker"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Denote worker",src:t(7326).A+"",width:"1052",height:"712"})}),"\n",(0,i.jsx)(n.p,{children:"and"}),"\n",(0,i.jsx)(n.h3,{id:"provider-agnostic",children:"Provider Agnostic"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.img,{alt:"Denote worker",src:t(6695).A+"",width:"1323",height:"749"})})]})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(s,{...e})}):s(e)}},2994:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>h});var i=t(4848),o=t(8453),r=t(3785),s=t(4511);const a={slug:"introducing-denote-dev",title:"Introducing Denote.dev",authors:"h7kanna"},d=void 0,l={permalink:"/blog/introducing-denote-dev",source:"@site/blog/2024-07-09-introducing-denote-dev/index.mdx",title:"Introducing Denote.dev",description:"Why are we building Denote.dev?",date:"2024-07-09T00:00:00.000Z",tags:[],readingTime:.51,hasTruncateMarker:!1,authors:[{name:"Harsha Teja Kanna",title:"Denote Dev Team",url:"https://github.com/h7kanna",imageURL:"https://github.com/h7kanna.png",key:"h7kanna"}],frontMatter:{slug:"introducing-denote-dev",title:"Introducing Denote.dev",authors:"h7kanna"},unlisted:!1},c={authorsImageUrls:[void 0]},h=[{value:"Why are we building Denote.dev?",id:"why-are-we-building-denotedev",level:2},...s.RM];function p(e){const n={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"why-are-we-building-denotedev",children:"Why are we building Denote.dev?"}),"\n",(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(n.p,{children:"More tools are in the roadmap (at various stages of development)\nand will be released as they get ready and based on the user/community feedback."}),"\n",(0,i.jsx)(n.p,{children:"The Long-term vision is to build a platform on top of the toolkit services."}),"\n",(0,i.jsx)(n.p,{children:"Please wait for further updates and follow these useful links."}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Documentation - ",(0,i.jsx)(n.a,{href:"https://docs.denote.dev/",children:"https://docs.denote.dev/"})]}),"\n",(0,i.jsxs)(n.li,{children:["GitHub - ",(0,i.jsx)(n.a,{href:"https://github.com/denote-dev",children:"https://github.com/denote-dev"})]}),"\n",(0,i.jsxs)(n.li,{children:["Content/Videos - ",(0,i.jsx)(n.a,{href:"https://content.denote.dev/",children:"https://content.denote.dev/"})]}),"\n",(0,i.jsxs)(n.li,{children:["Blog - ",(0,i.jsx)(n.a,{href:"https://denote.dev/blog/",children:"https://denote.dev/blog/"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["Initial support is planned for ",(0,i.jsx)(n.a,{href:"https://temporal.io/",children:"Temporal"})," and ",(0,i.jsx)(n.a,{href:"https://restate.dev/",children:"Restate"})," as the providers."]}),"\n",(0,i.jsx)(n.p,{children:"Regards,"}),"\n",(0,i.jsx)(n.p,{children:"Denote.dev Team."}),"\n",(0,i.jsx)(r.A,{autoPlay:!0,muted:!0,loop:!0,width:"800px",height:"300px",src:"/vid/cover_wide.mp4",type:"video/mp4"})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3785:(e,n,t)=>{t.d(n,{A:()=>r});const i={videoSize:"videoSize_NYs2",videoWrapper:"videoWrapper_KQgI"};var o=t(4848);function r(e){let{autoPlay:n,muted:t,loop:r,height:s,width:a,src:d,type:l}=e;return(0,o.jsx)("div",{className:i.videoWrapper,children:(0,o.jsx)("video",{className:i.videoSize,autoPlay:n,muted:t,loop:r,height:s,width:a,children:(0,o.jsx)("source",{src:d,type:l})})})}},9323:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/durable-604f77a2d60b14434aac39cabccfd699.png"},6695:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/provider-90b0699a66c4c6fc521e2e3d59ac2905.png"},7326:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/worker-4336aeeb57f781674a8ed0a6d741cf15.png"},3363:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/workflow-77d8299ca329996ad2720377562347c0.png"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.