Astro

웹 성능 컨설턴트: Astro

Astro 사이트의 최대 성능을 끌어냅니다

Astro는 처음부터 성능을 위해 설계되었습니다: 기본적으로 HTML, island를 통한 opt-in JavaScript. 오늘날 시장에서 가장 빠른 framework 중 하나입니다. 올바른 building block을 활용해야 합니다. Astro 아키텍처에 작업해 선택을 검증하고 LCP를 최대로 push합니다.

고객 만족도 100% 2023-2026 데이터 8+ 년 경력 35+ 고객 동반
고객 사례 보기

고객들이 신뢰합니다

CHANEL
DIOR
Decathlon
April Moto
SiriusXM
Make Up Forever
Camif
RIMOWA
Jimmy Fairly
Wecasa
Chronovet
CHANEL
DIOR
Decathlon
April Moto
SiriusXM
Make Up Forever
Camif
RIMOWA
Jimmy Fairly
Wecasa
Chronovet

Astro에서 검증하거나 push할 lever

Astro는 기본적으로 performant하지만 아키텍처 선택이 최종 결과를 결정합니다.

🏝️ client:load로 너무 광범위하게 hydrated된 island

client:load는 즉시 hydrate합니다. Astro의 정신에 반합니다. client:idle 또는 client:visible이 LCP를 위해 main thread를 보존합니다. 감사가 recalibrate할 island을 식별합니다.

📦 Astro에도 너무 무거운 JS 번들

Astro는 island에 embedded된 무거운 dependency를 보호하지 않습니다. Full Material-UI를 import하는 React island는 200 KB를 추가합니다. Island 감사가 각 contributor를 정량화합니다.

🖼️ 모든 곳에서 사용되지 않은 Astro Image component

<Image> component가 AVIF/WebP, lazy loading, srcset을 자동화합니다. 그 일반화가 적용할 가장 빠른 LCP lever입니다.

📚 잘못 활용된 Content collection

Astro content collection은 TS typing + Zod validation + 최적화된 rendering을 가능하게 합니다. Partial 통합은 성능을 테이블에 남깁니다.

🔄 내부 navigation에서 활성화되지 않은 view transition

Native view transition은 비용 없이 SPA-like 느낌을 전달합니다. Light e-commerce 또는 content 사이트에서 무료 UX와 성능 이득입니다.

🌐 정적 출력 대신 SSR Astro

Astro는 정적 모드(build에서 정적 사이트) 또는 SSR(모든 요청)로 생성할 수 있습니다. 정적 모드가 최적 TTFB를 제공합니다. SSR 모드는 진정으로 동적 content에 대해서만 정당화됩니다.

Astro 최적화 방법론

4 성과를 변환하는 단계

1
단계 1

1. Island 및 client:* directive 감사

모든 island 매핑, 사용된 directive 검증, client:idle / client:visible 기회 평가.

2
단계 2

2. Island당 번들 감사

Island당 embedded JS 측정(React, Vue, Svelte). 교체하거나 추가로 격리할 무거운 dependency 식별.

3
단계 3

3. Image 및 font 최적화

Image component 일반화, LCP 이미지에 fetchpriority, font-display swap, font subsetting. 일반적인 LCP 이득: 200-500ms.

4
단계 4

4. 정적 vs SSR 출력

Build 모드 평가(static vs SSR vs hybrid). SSR 사용 시 caching 전략 검증(hosting에 따라 Cloudflare, Netlify, Vercel).

미션 약속

-30% island당 평균 JS
LCP 일반적으로 1.5s 미만 mobile
100% Image component의 이미지
지속적 모니터링되는 island
FAQ

Frequently asked questions

Content 사이트를 위한 Astro vs Next.js?
Astro는 raw 성능에서 이깁니다(기본적으로 JS 적음, 더 간단한 정적 출력). Next.js는 ecosystem과 비즈니스 복잡성에서 이깁니다(SaaS 앱, 고급 e-commerce). 블로그, institutional 사이트, documentation, portfolio: Astro가 Core Web Vitals에서 기본 선택입니다.
Astro가 e-commerce에 관련 있나?
Light e-commerce(mono-product, simple marketplace, limited catalog)의 경우, 예. Headless 백엔드와 결합(Astro를 통한 Shopify Hydrogen, 또는 commercetools). 복잡한 e-commerce(B2B, 대규모 catalog, 무거운 personalization)의 경우 Next.js 또는 dedicated CMS(Magento Hyvä)가 더 적합합니다.
Astro DB를 사용해야 하나?
Astro DB(libSQL 기반)는 여전히 어립니다. 진지한 프로젝트의 경우 Drizzle 또는 Prisma를 통해 접근되는 proven DB(PostgreSQL, MySQL)를 유지하는 것을 권장합니다. Astro DB는 simple case 또는 prototype에 유용할 수 있습니다.
Astro engagement는 어떻게 구조화됩니까?
Astro는 기본적으로 performant하므로, 제 engagement는 아키텍처 선택 검증(island, content collection, 정적 vs SSR 출력)과 시간에 따른 유지보수에 집중합니다. Active한 Astro 프로젝트에서 새 island 또는 dependency 추가가 드리프트할 수 있습니다. 지속적인 존재가 Astro를 빠르게 만드는 것을 보호합니다.

Astro를 최대 성능으로 push하세요

calibrated된 island
일반화된 Image component
최적화된 정적 출력
고객 만족도 100%
2023-2026 데이터
고객 후기

고객 후기

훌륭한 작업입니다.
Paul은 사이트 속도를 눈에 띄게 개선했고 Google 권장사항에 완벽히 맞춰 주었습니다.
전문적이고 꼼꼼하며 효율적이라 강력히 추천합니다.

Nicolas - April Moto

디지털 & 이커머스 디렉터

저희는 Paul의 업무에 매우 만족하고 있습니다. 그는 신속하고, 언제든지 응대 가능하며, 특히 효율적입니다. 그가 합류한 이후 성과와 대응력 측면 모두에서 매우 좋은 결과가 확인되었습니다. 저희 팀의 진정한 자산입니다.

Léo - Maison de luxe

이커머스 프로덕트 오너

우리가 이 말을 충분히 했는지는 모르겠지만.
하지만 로딩 속도를 개선하고,
Google을 만족시키고 Core Web Vitals를 초록 영역으로 만들고 싶다면,
Paul Delcloy에게 연락하세요.

Florian Darroman - Les Makers

공동 창업자

Astro, 성능을 위해 설계된 framework

Astro는 최근에 등장한 가장 혁신적인 frontend framework 중 하나입니다. 원칙: 기본적으로 HTML, island를 통한 opt-in JavaScript. React, Vue, Angular가 SPA를 전달하기 위해 완전한 runtime을 ship하는 곳에서 Astro는 정적 HTML을 생성하고 명시적으로 interactive로 표시된 컴포넌트에만 JavaScript를 inject합니다.

결과: 일반적인 Astro 사이트는 총 JavaScript를 50 KB 미만으로 ship하고, 처음부터 녹색 Core Web Vitals를 hit하고, 1.5초 미만의 mobile LCP에 도달합니다. Content 사이트(블로그, institutional 사이트, documentation, portfolio)의 경우 Astro는 오늘날 성능에서 기본 선택입니다.

Island 아키텍처, 차별화된 lever

Island 원칙은 서버 측에서 HTML을 render한 다음(또는 정적 사이트의 build에서) client:load, client:idle, client:visible로 명시적으로 interactive로 선언된 컴포넌트만 hydrate합니다. 각 island은 격리됩니다. 그 JavaScript는 페이지의 나머지를 오염시키지 않습니다.

이 아키텍처는 동일한 Astro 페이지에서 React, Vue, Svelte, Preact 컴포넌트를 결합할 수 있게 합니다. 각각 격리됩니다. 도전은 client:* directive 사용을 규율화하는 것입니다: 상호작용이 즉각적이지 않을 때 client:visible 또는 client:idle이 LCP를 위해 main thread를 자유롭게 합니다.

Image 최적화 및 view transition

Astro는 next-gen 형식(AVIF, WebP), lazy loading, responsive srcset 및 prioritization을 자동화하는 Image component를 통합합니다. LCP에서 가장 보람 있는 컴포넌트 중 하나입니다. 그 일반화는 종종 image-heavy 사이트에서 LCP를 녹색으로 만드는 데 충분합니다.

Native view transition(Astro 3부터)이 real SPA의 JavaScript 비용 없이 SPA-like 유동성을 추가합니다. Content 사이트와 light e-commerce의 경우 현대 UX와 성능 사이의 훌륭한 타협입니다. 기존 Astro 사이트의 웹 성능 감사의 경우 angle은 island 사용을 검증하고 최적화 가능한 것을 최적화하는 것입니다.