Adingüklemek

Slzii.com Gözlemek

https://harper.fast

Harper | Build Distributed Max-Performance Apps
Build high-performance applications faster with a fused technology that unifies database, cache, messaging, and application functions into a single runtime. Get global low latency with less effort than ever before.
Harper | Build Distributed Max-Performance Apps Now Open SourceAIDevelopersQuick StartDOCSInstall HarperQuick StartData SystemsApplicationsReal-TimeRESTCacheDEPLOYFabricnpmDockerRed Hat OpenShiftCONNECTDiscordGitHub SupportDISCOVERBlogAll ResourcesOpen Source ApplicationsAgentic EngineeringEnterpriseDocsPricingCompanyLoginStart FreeLoginTry Harper Office Hours | Tuesdays 1pm ET Deliver Fast Apps & Agents Globally‍Harper is an open source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process. Build faster. Scale globally. Lead with performance.Start FreeBuild with AIAccelerating Innovation For// Agentic EngineeringDescribe It.Ship It.Scale It.Most stacks split code and infrastructure. Harper unifies them in declarative files so your AI agent can build, change, and deploy your apps on demand. Learn More ~/my-app ❯ ⚡ Agent reading skills/… schemas.md rest-apis.md real-time.md caching.md vector-search.md deploy.md ✓ Schema + REST API auto-generated ✓ Real-time pub/sub built-in ✓ Cache layer built-in ✓ Deployed to Fabric 3 regions 🌐 my-app.harperdbcloud.com Leading OnlineTire Retailer+$8.6 MEstimated annual revenue uplift from enhanced search engine indexation, delivering an 71x ROI.+71%Faster page loads delivering 33% top level growth.LeadingApparel Retailer+34%Increase in mobile conversion rate due to an 80% increase cache hit ratio.How Much More Could You Earn?High-performing websites drive greater engagement, boost conversion rates, and fuel revenue growth.Calculate UpliftAll Functions. One Runtime.Build apps that outperform their multi-system solutions.SchemaQueryLogicCacheReal-TimeVectorBlobDeployThe schema is the server.Define tables in GraphQL. Harper instantly exposes a full REST API, no controllers, no routes, no ORM. Change the schema, the API updates with it.Documentation// schema.graphql type Dog @table @export { id: ID @primaryKey name: String breed: String @indexed age: Int status: String # available | adopted | fostered bio: String tricks: [String] embedding: [Float] @indexed(type: "HNSW", distance: "cosine") photo: Blob owner: Owner @relationship(from: "ownerId") ownerId: ID @indexed } type Owner @table @export { id: ID @primaryKey name: String phone: String city: String } // You immediately get: GET /Dog/{id} POST /Dog/ PUT /Dog/{id} PATCH /Dog/{id} DELETE /Dog/{id} GET /Dog/?breed=Labrador&sort(-age) GET /Owner/{id} POST /Owner/ ... // No migrations. No REST framework. No code generation step. Query Your Way: URL, fetch, or GraphQLFilter, sort, join, and paginate from a URL, a fetch call, or the native GraphQL endpoint, all against the same data, no adapter needed.Documentation// 1st Let's start by adding data. Add as much as you want. POST /Owner/ Content-Type: application/json { "name": "John Smith", "phone": "123-456-7890", "city": "Denver" } POST/Dog/ Content-Type: application/json { "name": "Rex", "breed": "Labrador", "age": 5, "status": "available", "bio": "Loves fetch and long walks", "tricks": ["sit", "shake", "fetch"], "ownerId": "" } // 2nd Now let's filter, sort, and traverse relationships in the address bar with URL querys // Senior dogs available for adoption GET /Dog/?age=gt=7&status=available&sort(-age)&limit(10) // Breed is "Retriever", status is available OR fostered GET /Dog/?breed=Retriever&(status=available|status=fostered) // Join through the owner relationship GET /Dog/?owner.city=Austin&select(name,breed,owner{name,phone}) // fetch — same filters, works anywhere JS runs const res = await fetch( '/Dog/?breed=Retriever&status=available&select(name,breed,age)', { headers: { Authorization: 'Basic ' + btoa('user:pass') } } ); const dogs = await res.json(); // GraphQL — enable with one line in config.yaml, query /graphql { Dog(status: "available") { name breed age owner { name phone } } } Custom Behavior, Zero New ServicesExtend any table with a JavaScript class, computed fields, validation, side effects. It runs in-process alongside your data, no microservice, no extra network hop.Documentation// resources.js import { tables } from 'harperdb'; const { Dog } = tables; export class AdoptableDog extends Dog { // Enrich every GET with computed fields async get(query) { const dog = await super.get(query); return { ...dog, humanAge: 15 + dog.age * 5, isGoodBoy: true, // always }; } // Validate and set defaults on every POST async post(target, data) { if (!data.name) throw new Error('Every dog deserves a name'); data.tricks = data.tricks ?? []; data.status = 'available'; return super.post(target, data); } } // Three files. That's still the whole backend. Kill your Redis. Keep your speed.Point a Harper resource at an external data source. Harper fetches, caches, and serves it, with configurable TTL and automatic stampede protection. No Redis, no middleware.Documentation// schema.graphql — cached for 1 hour type BreedImage @table(expiration: 3600) @export { id: ID @primaryKey image: String } // resources.js — point it at the dog.ceo API import { Resource, tables } from 'harperdb'; class DogCeoAPI extends Resource { async get() { const breed = this.getId(); const res = await fetch( `https://dog.ceo/api/breed/${breed}/images/random` ); const data = await res.json(); return { breed, image: data.message }; } } tables.BreedImage.sourcedFrom(DogCeoAPI); // Cache miss fetches from dog.ceo API GET /BreedInfo/labrador // Cache hits return in <1ms GET -H 'If-None-Match: ""' /BreedInfo/labrador Pub/sub is a Table Feature, Not a Separate Bill.Subscribe to any record over Server-Sent Events, WebSocket, or MQTT, built in, no extra broker. When data changes, subscribers hear about it instantly.Documentation// 3 Examples of Real-Time In Action // OPTION 1 | Server Sent Events (SSE), no library needed const events = new EventSource('/Dog//'); events.onmessage = (e) => { const data = JSON.parse(e.data); const dog = data.value; console.log(`${dog.name} is now: ${dog.status}`); // → "Rex is now: adopted" }; // OPTION 2 | WebSocket with custom actions via resources.js import { tables } from 'harperdb'; export class LiveDog extends Resource { async *connect(target, incomingMessages) { const subscription = await tables.Dog.subscribe(target); if (!incomingMessages) { return subscription; // SSE mode } for await (let msg of incomingMessages) { if (msg.action === 'wag') yield { tail: 'wagging' }; } } } // OPTION 3 | config.yaml — enable MQTT for IoT collar tracking mqtt: network: port: 1883 webSocket: true requireAuthentication: trueSemantic Search without a Second Database.The embedding field in your schema already has an HNSW index. Store vectors alongside your data and query them with the same REST API,  no separate vector database.Documentation// Already declared in schema.graphql (Tab 1:Schema): // embedding: [Float] @indexed(type: "HNSW", distance: "cosine") // Store a dog profile with its bio embedding await fetch('/Dog/', { method: 'POST', body: JSON.stringify({ name: 'Biscuit', breed: 'Golden Retriever', bio: 'Loves fetch, belly rubs, and long walks', embedding: await getEmbedding('Loves fetch, belly rubs, and long walks'), status: 'available', }), }); // Find the 5 most similar dogs to a query import { tables } from 'harperdb'; const results = tables.Dog.search({ select: ['name', 'breed', 'bio', '$distance'], sort: { attribute: 'embedding', target: await getEmbedding('friendly dog who loves walks'), }, limit: 5, }); // → dogs ranked by cosine similarity to the query vector No S3. No CDN. Just a field.The photo field in your schema is a native Blob. Upload and serve binary files from the same endpoint as your data, no S3 bucket, no file service.Documentation// Already declared in schema.graphql (Tab 1:Schema): // photo: Blob // Upload and retrieve a dog photo // Upload PUT /Dog//photo Content-Type: image/jpeg < ./rex-headshot.jpg // Retrieve — streams back with correct Content-Type GET /Dog//photo // Upload from a browser form const formData = new FormData(); formData.append('photo', fileInput.files[0]); await fetch('/Dog//photo', { method: 'PUT', body: formData, });Deploy your Backend Like you Push Your CodeDeploy your entire backend, database, API, cache, logic, real-time, vector search, etc., to Harper Fabric's distributed network with a single command. No containers, no Kubernetes, no cloud console.Documentation// Develop locally harper dev . // Deploy local project to Fabric (push-based deploys) cd my-app harper deploy . project=my-app \ target="https://your-app.fabric.harper.fast/" \ username="your-cluster-username" \ password="your-cluster-password" \ restart=rolling \ replicated=true // Deploy GitHub project to Fabric (pull-based deploys) harper deploy \ project=my-app \ package="https://github.com/User/my-app" \ target="https://your-app.fabric.harper.fast/" \ username="your-cluster-username" \ password="your-cluster-password" \ restart=rolling \ replicated=true // Same API. Same schema. Same logic. Just… everywhere. GET https://your-app.fabric.harper.fast/Dog/?breed=Labrador&status=available // No Dockerfile. No cloud console wizards. // All your files → one command → globally distributed. Open Source ApplicationsJumpstart your next build with open source projects.ApolloHarper plugin that creates an Apollo GraphQL API gateway for composing custom schemas and connecting distributed data sources with precise control.JavaScriptExplore All Apps & PluginsAstroHarper plugin for running Astro apps.AstroExplore All Apps & PluginsEarly HintsTemplate for injecting HTTP 103 Early-Hints via Akamai EdgeWorkers using a Harper lookup.TypeScriptExplore All Apps & PluginsGrafana DatasourceEnables real-time visualization of Harper data directly within Grafana dashboards.TypeScriptExplore All Apps & PluginsMCP ServerA server implementation of the Model Context Protocol (MCP), designed to expose data in HarperDB as structured "Resources" accessible via standardized JSON-RPC calls.TypeScriptExplore All Apps & PluginsNextjsHarper plugin for running and developing Next.js apps.JavaScriptExplore All Apps & PluginsRedirectorRedirector component built to handle large-scale redirect needs, supporting use cases with hundreds of thousands to millions of redirects.JavaScriptExplore All Apps & PluginsVue SSR ExampleExample of a Harper Resource Component that leverages Vue SSR to efficiently build and cache pages.VueExplore All Apps & PluginsSemantic Cache ExampleA demo project using Harper and Ollama for semantic search with a vector-based cache, storing similar queries to cut redundant LLM calls.JavaScriptExplore All Apps & PluginsGetting Started Pub/SubA complete real-time messaging starter project featuring a Harper application with MQTT, WebSocket, and Server-Sent Events (SSE) capabilities, plus client examples in multiple languages.ShellExplore All Apps & PluginsOAuthOAuth 2.0 and OpenID Connect authentication for Harper applications. Supports GitHub, Google, Azure AD, Auth0, and custom OIDC providers with automatic token refresh and lifecycle hooks for user provisioning.JavaScriptExplore All Apps & PluginsSee All Harper AppsDiscover templates and plugins that accelerate innovation.Explore All Apps & PluginsDeploy in SecondsOPEN SOURCEBuild with HarperRun the Harper fused stack anywhere. Experience the performance this new breed of unified platform can deliver.Go to RepoScale with FabricNo Credit Card Required.Enterprise Strategy and ExecutionAll Resources Service Fabrics & Unified PlatformsA blueprint for cutting complexity, slashing costs, and achieving single millisecond performance with globally scalable distributed clusters.Read Report6 Weeks to E-Commerce Holiday ReadinessA tactical roadmap to harden infrastructure, eliminate customer friction, and maximize conversions during the most critical revenue window of the year. The Holidays!Read PlaybookThe Impact of Early HintsEarly Hints unlocked an 8% faster website, 230% more indexed pages, and $8.6M in revenue potential. Best part... NO code changes.Read Case StudySolutions for EnterprisesAll SolutionsPage CachePrerender for BotsEarly HintsRedirectorGraphQLPage CacheHarper Page Cache eliminates slowdowns from cold starts, cache misses, and origin bottlenecks. By pre-rendering pages and injecting dynamic attributes like price, personalization, and availability at the last responsible moment, Harper delivers instant, always-current pages worldwide — with minimal code changes.Read Page Cache BriefLoads product pages in as little as 600ms for 95% of users.Prerender for BotsModern JavaScript-heavy sites often frustrate search bots, leading to missed content, wasted crawl budgets, and delayed rankings. Harper Prerender for Bots solves this by generating lightweight HTML snapshots, stored at the edge and delivered instantly to crawlers. The result: faster indexing, more pages crawled, reduced backend strain, and always-available product pages—even during origin failures.Read Prerender for Bots Brief400% increase in crawl rate and P95 latency of just 2ms.Early HintsEvery millisecond matters when it comes to conversions, Core Web Vitals, and SEO. Harper Early Hints uses partial 103 HTTP responses to proactively load critical assets—like CSS, fonts, and hero images—before the full page is ready. This closes the gap between request and render, cutting hundreds of milliseconds off page loads. Built on Harper’s fused runtime, Early Hints operates across multiple regions to deliver extreme performance at scale, driving faster time-to-interaction and measurable growth.Read Early Hints Brief350,000+ requests/minute processed with P95 latency of just 1.06 msRedirectorManaging redirects across large sites is complex, error-prone, and costly. Harper Redirector simplifies it with an edge-native system that resolves redirects in just 1 ms, even at massive scale. With built-in support for bulk imports, API-driven management, versioning, and multi-domain flexibility, Harper reduces engineering overhead while improving site performance and SEO.Read Redirector Brief1 ms redirect resolution, supporting 10M+ values and 1M+ requests per second.GraphQLTraditional GraphQL deployments struggle with cache misses, resolver latency, and backend strain. Harper fuses database, cache, and logic into one runtime at the edge, enabling whole-query caching, field-level routing, and real-time updates. The result: faster UIs, reduced costs, and fresh data without complex rewrites.Read GraphQL BriefCut origin load and latency with full and partial query caching.// AGENTIC ENGINEERINGBuild Locally. Deploy Globally.Most enterprises cannot hand AI agents the keys to their cloud, database, and caching layer. Harper removes the need at the architecture level. A unified runtime gives agents full-stack control through declarative files, with zero credential exposure.SECURITYThe security problem in agentic engineering has an architectural solution ARCHITECTUREUnified Runtime, the architecture AI-friendly systems needINFRASTRUCTUREThe missing layer in agentic coding. Does your stack have it?Build with AI AgentsTrusted by IBM, Verizon, and Red Hat. One command scaffolds the unified runtime with skills files that teach any coding agent how to build on Harper. Your agent reads the skills. You ship the app.✓ schema.graphqlData model + REST API✓ resources.jsBusiness logic✓ config.yamlRuntime + deploy config✓ /skills/*.mdAgent onboarding docs View Source DeployNo Credit Card Required.DiscordDocumentationAll ResourcesPricing2026 © HarperDB Inc. All rights reservedDOCUMENTATIONInstall HarperQuick StartData SystemsApplicationReal-TimeRESTCacheDEPLOYMENTFabricnpmDockerRed Hat Open ShiftCOMMUNITY & SUPPORTDiscordGitHubSupportDISCOVERAll ResourcesOpen Source ApplicationsPricingRSSABOUTCompanyCareersPressLegal & Policies2420 17th St, Suite 270, Denver, CO 80202
en
en
1774883281
https://harper.fast

Sahypaňyzy redaktirläňmi?

Näme edýärsiň?

0.0049309730529785


Web direktory
Web direktory

Web direktory
Build high-performance applications faster with a fused technology that unifies database, cache, messaging, and application functions into a...
Web direktory