import Head from "next/head"; import Header from "../components/Header"; import Footer from "../components/Footer"; import IndexCard from "../components/IndexCard"; import NewsletterSignup from "../components/NewsletterSignup"; import { Container, SingleColumn, Section, TwoUp, formatDate, generateDisplayDate, getAllPosts, } from "@urbit/foundation-design-system"; import Link from "next/link"; import { Comms, Ringsig, Squad, Database, Distribution, Functional, Identity, Interface, Peer, } from "../components/icons"; import Card from "../components/Card"; import TallCard from "../components/TallCard"; import HoonIcon from "../components/icons/TallCard/hoon"; import AppIcon from "../components/icons/TallCard/app"; import Meta from "../components/Meta"; import HighlightCard from "../components/HighlightCard"; export default function Home({ search, posts, highlights }) { const post = { title: "Urbit Developers", description: "Discover the creative possibilities of a unified operating system.", image: "https://storage.googleapis.com/media.urbit.org/site/opengraph/developers.png" }; return (
Urbit Developers {Meta(post, false, true)}
{/* Hero statement */}

Discover the creative possibilities of a unified operating system.

Urbit provides{" "} foundational primitives at the operating system layer, serving as a better platform for building{" "} networked, decentralized applications .

{pitch.map((each) => { return (
{each.icon}

{each.title}

{each.content}

); })}

Thanks to this architecture, you can take software into production within weeks rather than months.

Quickstart: Lightning Tutorials

Jump right in and build an app in under a half hour.

} title="Groups Application" text="Build an app to create public or private groups" className="basis-1/2" href="/guides/quickstart/groups-guide" /> } title="Encrypted Chat Application" text="Build your own secure comms tool" className="basis-1/2" href="/guides/quickstart/chat-guide" />
} title="Ring Signature Voting App" text="Build an anonymous voting app for groups" className="basis-1/2" href="/guides/quickstart/voting-guide" />

Guides

Learn the foundations of software development on Urbit with our core curriculum of guides and workbooks.

View All Guides

Courses

Want an interactive experience to truly learn software development on Urbit?
Join the next cohort for Hoon or App School Live and learn with a group.

View Courses

Community

The developer community is friendly, helpful, and organized from within Urbit itself.

Explore the Community

Blog

{posts.slice(0, 2).map((e) => { const date = generateDisplayDate(e.date); return ( {formatDate(date)}

} /> ); })}

[battery payload]

The Urbit Developer Newsletter

Get monthly developer news on releases, applications, events, and more.

); } const pitch = [ { icon: , title: "Identity", content: "Identity is built-in at the lowest level of the stack – say goodbye to auth systems.", }, { icon: , title: "Functional Network", content: "Immutable, functional programming across the entire OS and network", }, { icon: , title: "Built-in Database", content: "Every piece of state in your application is persistent, always", }, { icon: , title: "Peer-to-Peer Applications", content: "Urbit makes robust peer-to-peer applications easy to build", }, { icon: , title: "Open Distribution", content: "Distribute software directly to users — you are your own app store", }, { icon: , title: "Web Interfaces", content: "Urbit applications can be built on any interface framework, including the web", }, ]; export async function getStaticProps() { // Highlights const highlights = getAllPosts( ["title", "slug", "image", "url", "description"], "highlights" ); const posts = getAllPosts( ["title", "slug", "date", "description", "extra"], "blog", "date" ); return { props: { posts, highlights }, }; }