티스토리 수익 글 보기
Push your ideas to the web
Build with AI or code, deploy instantly. One platform with everything you need to make real apps live.
Platform
Everything you need to ship. Nothing you don’t.
From vibe coding your first app to serving millions of users, Netlify handles the infrastructure so you can focus on building. No DevOps required. No complex setup. No surprise bills when you scale.
Primitives
Ready to use building blocks.
Build APIs, store files, manage data, control performance. No backend setup required—just build and deploy.
Build scalable, fullstack apps with Netlify Functions
Deploy server-side code that works as API endpoints, runs automatically in response to events, or processes more complex jobs in the background.
- Send automated email
- Fetch live data from an API
- Return dynamic images
- Validate user input
Example: Send email
import type { Context, Config } from "@netlify/functions";
export default async (req: Request, context: Context) => {
if (req.method !== "POST") return new Response("Method not allowed", { status: 405 });
try {
const { name, email, message } = await req.json();
if (!name || !email || !message) return new Response("Missing fields", { status: 400 });
// Mock email API
await fetch("https://api.emailservice.com/send", {
method: "POST",
headers: { "Authorization": `Bearer ${Netlify.env.get("EMAIL_API_KEY")}`, "Content-Type": "application/json" },
body: JSON.stringify({ to: "test@example.com", subject: `Hello world`, text: `Hello ${name}` })
});
return Response.json({ success: true });
} catch {
return new Response("Server error", { status: 500 });
}
};
Agent-friendly storage for full-stack apps
Instantly provision a production-grade database with Netlify DB or use Blobs as a simple key/value store or lightweight database.
- Store and retrieve blobs and unstructured data for frequent reads and infrequent writes
- Use serverless databases to create full-stack apps
- Set up in minutes with the help of a code agent
Example: Persist user-generated uploads
import { getStore } from "@netlify/blobs";
import type { Context } from "@netlify/functions";
import { v4 as uuid } from "uuid";
export default async (req: Request, context: Context) => {
// Accessing the request as `multipart/form-data`.
const form = await req.formData();
const file = form.get("file") as File;
// Generating a unique key for the entry.
const key = uuid();
const uploads = getStore("file-uploads");
await uploads.set(key, file, {
metadata: { country: context.geo.country.name }
});
return new Response("Submission saved");
};
Better image performance with the Netlify Image CDN
- Transform images on demand without impacting build times
- Optimize the size and format of your images
- Improve both the runtime performance and reliability of your site
Example: Resize a cached image
<!-- Resize an image to 200x200 pixels -->
<img src="/.netlify/images?url=/photo.jpg&w=200&h=200"
alt="Resized and cached image">
Get information from your users with Netlify Forms
- Automatic form detection with one HTML attribute
- Allows you to create forms in Netlify without extra API calls or additional JavaScript
- Uses HTML forms, a trusted web standard
Example: Contact us form
<form name="contact" method="POST" data-netlify="true">
<p>
<label>Your name: <input type="text" name="name" /></label>
</p>
<p>
<label>Your email: <input type="email" name="email" /></label>
</p>
<p>
<label>Your job title: <input type="text" name="title" /></label>
</p>
<p>
<label>Message: <textarea name="message"></textarea></label>
</p>
<p>
<button type="submit">Send</button>
</p>
</form>
Start building on Netlify
Join millions of developers and teams bringing their ideas online.