Bird
Raised Fist0
Denoframework~5 mins

Islands architecture in Fresh in Deno - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is Islands architecture in Fresh?
Islands architecture means building web pages mostly with static HTML but adding small interactive parts called islands. These islands are independent components that load only when needed, making pages faster and lighter.
Click to reveal answer
beginner
How does Fresh handle interactivity with Islands architecture?
Fresh renders the whole page on the server as static HTML. Then, it hydrates only the interactive islands on the client side. This means only small parts become interactive, not the whole page.
Click to reveal answer
intermediate
Why is Islands architecture beneficial for performance?
Because it sends mostly static HTML first, pages load quickly. Only small interactive parts load JavaScript, reducing the amount of code sent and improving speed and battery life on devices.
Click to reveal answer
intermediate
In Fresh, how do you mark a component as an island?
You mark a component as an island by placing it inside the islands directory. This tells Fresh to hydrate it on the client side separately from the static page.
Click to reveal answer
intermediate
What is the difference between server rendering and islands in Fresh?
Server rendering creates the full HTML page on the server. Islands are small parts of the page that become interactive on the client. Fresh combines both by server rendering the page and hydrating only islands.
Click to reveal answer
What does Islands architecture mainly improve in Fresh apps?
AServer CPU usage
BDatabase query speed
CPage load speed and interactivity efficiency
DCSS styling complexity
In Fresh, where do interactive islands run their JavaScript?
AOn the client browser after page load
BOnly on the server
CInside the database
DDuring build time
How does Fresh send the initial page content to the browser?
AAs fully rendered static HTML from the server
BAs raw JavaScript code only
CAs JSON data only
DAs plain text without HTML
Which folder typically contains islands in a Fresh project?
A/static
B/components
C/pages
D/islands
What happens if you put all page components as islands in Fresh?
AThe page becomes fully static with no interactivity
BThe page loses performance benefits and behaves like a full client app
CThe server crashes
DThe page loads instantly with no JavaScript
Explain Islands architecture in Fresh and why it helps web performance.
Think about how small parts become interactive instead of the whole page.
You got /5 concepts.
    Describe how Fresh combines server rendering and client interactivity using islands.
    Focus on the roles of server and client in Fresh's islands approach.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the Islands architecture in Fresh?
      easy
      A. To split pages into static and interactive parts for better performance
      B. To make all parts of the page fully interactive
      C. To load the entire page on the client side only
      D. To disable JavaScript on the page

      Solution

      1. Step 1: Understand Islands architecture concept

        Islands architecture divides a web page into static parts and small interactive components called islands.
      2. Step 2: Identify the main benefit

        This split improves page speed and maintainability by only hydrating interactive parts.
      3. Final Answer:

        To split pages into static and interactive parts for better performance -> Option A
      4. Quick Check:

        Islands architecture = split static + interactive [OK]
      Hint: Islands means splitting page into static and interactive parts [OK]
      Common Mistakes:
      • Thinking all page parts are interactive
      • Believing Islands disables JavaScript
      • Assuming full client-side rendering
      2. Which syntax correctly marks an interactive island component in Fresh?
      easy
      A. <ISLAND>MyComponent</ISLAND>
      B. <Island>MyComponent</Island>
      C. <island>MyComponent</island>
      D. <ISLAND />

      Solution

      1. Step 1: Recall correct tag casing

        Fresh uses uppercase ISLAND tag to mark interactive components.
      2. Step 2: Check tag usage

        The ISLAND tag wraps the component, so it needs opening and closing tags.
      3. Final Answer:

        <ISLAND>MyComponent</ISLAND> -> Option A
      4. Quick Check:

        Correct tag is uppercase ISLAND with open/close [OK]
      Hint: Use uppercase <ISLAND> tags to mark interactive parts [OK]
      Common Mistakes:
      • Using lowercase or mixed case tags
      • Using self-closing without children
      • Confusing with other component tags
      3. Given this Fresh page snippet, what will be interactive on the rendered page?
      export default function Page() {
        return (
          <main>
            <h1>Welcome</h1>
            <ISLAND><Counter /></ISLAND>
            <p>Static text</p>
          </main>
        );
      }
      medium
      A. Nothing is interactive because ISLAND is not a valid tag
      B. The entire page including the heading and paragraph is interactive
      C. Only the Counter component inside the ISLAND tag is interactive
      D. Only the heading is interactive

      Solution

      1. Step 1: Identify ISLAND usage

        The Counter component is wrapped inside the ISLAND tag, marking it interactive.
      2. Step 2: Understand static vs interactive parts

        The heading and paragraph are outside ISLAND, so they remain static and non-interactive.
      3. Final Answer:

        Only the Counter component inside the ISLAND tag is interactive -> Option C
      4. Quick Check:

        ISLAND wraps interactive parts only [OK]
      Hint: Only components inside <ISLAND> are interactive [OK]
      Common Mistakes:
      • Assuming whole page is interactive
      • Thinking ISLAND tag is invalid
      • Believing static parts become interactive
      4. What is wrong with this Fresh island component usage?
      export default function Page() {
        return (
          <main>
            <ISLAND><Button /></ISLAND>
            <ISLAND><Button /></ISLAND>
          </main>
        );
      }
      medium
      A. ISLAND tags must be self-closing
      B. Using multiple ISLAND tags with the same component can cause duplicate hydration issues
      C. Button component cannot be used inside ISLAND
      D. ISLAND tags must wrap only one element, not components

      Solution

      1. Step 1: Analyze multiple ISLAND usage

        Using the same interactive component multiple times inside separate ISLAND tags can cause hydration conflicts if keys are missing.
      2. Step 2: Understand hydration uniqueness

        Each island needs a unique key or identifier to avoid duplicate hydration errors.
      3. Final Answer:

        Using multiple ISLAND tags with the same component can cause duplicate hydration issues -> Option B
      4. Quick Check:

        Duplicate islands need unique keys to avoid errors [OK]
      Hint: Multiple identical islands need unique keys to avoid errors [OK]
      Common Mistakes:
      • Thinking ISLAND tags must be self-closing
      • Believing components can't be inside ISLAND
      • Assuming ISLAND wraps only HTML elements
      5. You want to optimize a Fresh page with many interactive buttons. Which approach best uses Islands architecture to improve performance?
      hard
      A. Use <ISLAND> tags only on static content to reduce JavaScript
      B. Wrap all buttons together in a single <ISLAND> to hydrate them all at once
      C. Do not use <ISLAND> tags and hydrate the entire page client-side
      D. Wrap each button in its own <ISLAND> with unique keys to hydrate only needed parts

      Solution

      1. Step 1: Understand hydration granularity

        Wrapping each button in its own ISLAND allows independent hydration, improving performance by loading only needed parts.
      2. Step 2: Importance of unique keys

        Assigning unique keys to each island prevents hydration conflicts and ensures smooth interactivity.
      3. Final Answer:

        Wrap each button in its own <ISLAND> with unique keys to hydrate only needed parts -> Option D
      4. Quick Check:

        Separate islands with keys = better performance [OK]
      Hint: Use separate islands with unique keys for many interactive parts [OK]
      Common Mistakes:
      • Grouping all buttons in one island causing unnecessary hydration
      • Not using ISLAND tags and hydrating whole page
      • Misusing ISLAND on static content
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard