zed/server/templates/home.hbs
2021-09-23 16:44:48 -04:00

71 lines
5.7 KiB
Handlebars
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{#> layout }}
<div class="max-w-screen-lg p-10 mx-auto font-extralight text-main lg:p-20">
<article class="max-w-xl">
<h1 class="mb-10 text-4xl leading-tight text-white font-display font-extralight">Introducing Zed&mdash;A lightning-fast, collaborative code editor written in Rust.</h1>
<p class="mt-5 leading-relaxed">
We think theres a better way to write code.
</p>
<p class="mt-5 leading-relaxed">
Were building Zed because we want to write code in a tool that is:
</p>
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Mission-critical tools should be hyper-responsive.</h3>
<p class="mt-5 leading-relaxed">
When you move the cursor or type a character, you should see pixels on the next refresh of your displayevery time. Even sub-perceptual pauses add up over the course of a day to create unnecessary stress. Joyful coding starts with an editor that stays out of your way.
</p>
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Real-time collaboration produces better software.</h3>
<p class="mt-5 leading-relaxed">
When you move the cursor or type a character, you should see pixels on the next refresh of your displayevery time. Even sub-perceptual pauses add up over the course of a day to create unnecessary stress. Joyful coding starts with an editor that stays out of your way.
</p>
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Keystrokes are the fundamental unit of change.</h3>
<p class="mt-5 leading-relaxed">
When you move the cursor or type a character, you should see pixels on the next refresh of your displayevery time. Even sub-perceptual pauses add up over the course of a day to create unnecessary stress. Joyful coding starts with an editor that stays out of your way.
</p>
<p class="mt-5 leading-relaxed">Early access to Zed will open up mid-2022 for small teams and individuals in our <a class="underline hover:no-underline" href="/community">community</a>.</p>
<p class="mt-10 leading-relaxed">
<span class="inline-block pr-5"><a href="/story" class="inline-block underline hover:no-underline">Read our story</a>.</span>
<span class="inline-block pr-5 opacity-60"><a href="/community" class="inline-block no-underline hover:underline">Join the waitlist</a>.</span>
</p>
<p class="mt-10 mb-10 leading-7">&mdash;&mdash;&mdash;</p>
<h2 class="mt-16 mb-5 leading-tight text-white font-display font-extralight">Under the hood</h2>
<h3 class="mt-5 mb-4 leading-tight text-white font-display font-extralight">Rust</h3>
<p class="mt-5 leading-relaxed">With performance and reliability being our priority, writing Zed in <span class="font-semibold">Rust</span> was an obvious choice.</p>
<p class="mt-5 leading-relaxed">In the past to write software with this performant you would need to use C++. Rust, for the first time, enables us to write software at that level as a very small team.</p>
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">GPUI</h3>
<p class="mt-5 leading-relaxed">While Rust enables us to build performant, reliable software, it's constraints make rending custom UIs a challenge. To attack this, we created <code>gpui</code>, a rust library that rethinks the entire rendering stack that goes all the way to the graphics hardware.</p>
<p class="mt-5 leading-relaxed">We started <code>gpui</code> as an extension of that desire to write apps that are fast and fluid, yet easy to develop itteratively. <code>gpui</code> rethinks the way we draw UI in response to the constraints of Rust. By controlling the entire stack we remove layers of extra code that would reduce performance.</p>
<p class="mt-5 leading-relaxed">Without building <code>gpui</code> the most viable way to build a cross-platform app would have been Electron. It's well documented performance limitations and single threaded nature made it a deal-breaker for us. Taking full advantage of local hardware was important to use to ensure that we can squeeze out the best performance.</p>
<p class="mt-5 leading-relaxed">Were building <code>gpui</code> and Zed in parallel, and may consider opening <code>gpui</code> up for usage outside of it in the future.</p>
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">CRDT</h3>
<p class="mt-5 leading-relaxed">Like <code>gpui</code> enables performant UI, <code>crdt</code> is the key to making code collaborative as it is being written.</p>
<p class="mt-5 leading-relaxed">A <code>crdt</code> allows us to version control the codebase on the keystroke level&mdash;Every keystroke can be revisited, commented on or undone. Entire sessions can be replayed and scrubbed in a session, from the point of view of any player.</p>
<p class="mt-5 leading-relaxed">This level of granularity in our version control allows us to explore ideas like time traveling the codebase.</p>
<p class="mt-5 leading-relaxed">Often the best way to understand code is to experience it's creation chronologically. Imagine if you could jump to the point a piece of code was created and watch it be written in real time.</p>
<p class="mt-10 mb-10 leading-7">&mdash;&mdash;&mdash;</p>
<p class="mt-5 leading-relaxed">Excited about what we are doing? <a class="underline hover:no-underline" href="/community">Sign up for updates</a> to follow along in our development process.</p>
</article>
</div>
{{/layout}}