mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-06 08:07:42 +00:00
Update content on all major pages
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
parent
337afb0d9d
commit
d0c4d2015e
4 changed files with 81 additions and 55 deletions
|
@ -2,9 +2,8 @@
|
|||
|
||||
<div class="max-w-screen-lg p-10 mx-auto font-extralight text-main lg:p-20">
|
||||
<h1 class="mb-10 font-display font-extralight">We’re building a community of passionate developers & advocates.</h1>
|
||||
<p class="mt-5 leading-relaxed">We think there’s a better way to write code, and we hope to share it with you soon.</p>
|
||||
|
||||
<p class="mt-5 leading-relaxed">If you would like to get involved early, sign up for the Zed Universe community below and we will let you know when it opens.</p>
|
||||
<p class="mt-5 leading-relaxed">If you would like to get involved early, sign up for the our community below and we will let you know when it opens.</p>
|
||||
|
||||
<form action="/signups" method="post" class="mt-10">
|
||||
<ul>
|
||||
|
@ -18,12 +17,12 @@
|
|||
</span>
|
||||
</span>
|
||||
|
||||
<div class="flex-1 mt-0.5">
|
||||
<div class="flex-1 mt-1">
|
||||
<label for="wants_releases">
|
||||
<span class="radio__label">Let me know when there is a beta release</span>
|
||||
<span class="radio__label">Let me know when there is a beta release I can try.</span>
|
||||
</label>
|
||||
<p class="text-sm leading-6 text-gray-400">
|
||||
Get updates on early releases, and when Zed launches.
|
||||
We'll put you on the list to play with an early beta and let you know when Zed launches.
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -37,12 +36,12 @@
|
|||
</span>
|
||||
</span>
|
||||
|
||||
<div class="flex-1 mt-0.5">
|
||||
<div class="flex-1 mt-1">
|
||||
<label for="wants_updates">
|
||||
<span class="radio__label">I’m interested in following Zed's development</span>
|
||||
</label>
|
||||
<p class="text-sm leading-6 text-gray-400">
|
||||
Receive occasional email updates on Zed's progress and the tech we are building.
|
||||
We'll send you occasional updates about our progress and share what we're learning along the way.
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -56,30 +55,30 @@
|
|||
</span>
|
||||
</span>
|
||||
|
||||
<div class="flex-1 mt-0.5">
|
||||
<div class="flex-1 mt-1">
|
||||
<label for="wants_community">
|
||||
<span class="radio__label">I want to test early releases & join the Zed community</span>
|
||||
</label>
|
||||
<p class="text-sm leading-6 text-gray-400">
|
||||
Join the waitlist for our alpha tester community to get early access to releases and contribute to Zed's development through testing & feedback.
|
||||
We'll add you to the wait list to recevie early builds and ask you to help us by testing them out.
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="lg:flex lg:flex-row lg:mt-10">
|
||||
<input class="block w-full p-5 mt-10 font-extralight bg-transparent border border-white lg:mt-0 lg:mr-5" type="text" id="form-email" name="email_address" required minlength="4" placeholder="Your email">
|
||||
<input class="block w-full p-5 mt-10 bg-transparent border border-white font-extralight lg:mt-0 lg:mr-5" type="text" id="form-email" name="email_address" required minlength="4" placeholder="Your email">
|
||||
|
||||
<input class="block w-full p-5 mt-5 font-extralight bg-transparent border border-white lg:mt-0" type="text" id="form-gh" name="github_login" placeholder="Github Username">
|
||||
<input class="block w-full p-5 mt-5 bg-transparent border border-white font-extralight lg:mt-0" type="text" id="form-gh" name="github_login" placeholder="Github Username">
|
||||
</div>
|
||||
|
||||
<textarea class="block w-full h-40 p-5 mt-5 font-extralight leading-relaxed bg-transparent border border-white" type="text" name="about" placeholder="Tell us a bit about yourself, and your interest Zed. What do you love or hate about your current code editor?"></textarea>
|
||||
|
||||
<button class="block mt-10 text-lg font-extralight opacity-100 hover:opacity-80">
|
||||
<textarea class="block w-full h-40 p-5 mt-5 leading-relaxed bg-transparent border border-white font-extralight" type="text" name="about" placeholder="Tell us a bit about yourself and your interest Zed. What does your dream code-editing experience look like? What is the one thing that you love or hate about your current editor?"></textarea>
|
||||
|
||||
<button class="block mt-10 text-lg opacity-100 font-extralight hover:opacity-80">
|
||||
Join the waitlist →
|
||||
</button>
|
||||
|
||||
<p class="mt-10 text-sm leading-relaxed text-gray-500">
|
||||
We'll never spam you — You can expect an email every 1 to 3 months from us if you sign up for updates, and occasional emails about public testing releases.
|
||||
We're not gonna spam you — You can expect an email every 1 to 3 months from us if you sign up for updates and occasional emails about beta releases.
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{{#> layout }}
|
||||
|
||||
<div class="max-w-screen-lg p-10 mx-auto text-gray-200 font-extralight text-main lg:p-20">
|
||||
<div class="max-w-screen-lg p-5 mx-auto text-gray-200 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—A lightning-fast, collaborative code editor written in Rust.</h1>
|
||||
<p class="mt-5 leading-relaxed">
|
||||
|
@ -51,28 +51,49 @@
|
|||
|
||||
<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>
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 leading-tight text-white font-display font-extralight">Rust</h3>
|
||||
<p class="mt-3">Rust offers expressivity and developer productivity rivaling languages that depend on a VM, while simultaneously offering the control required to fully utilize the underlying hardware.</p>
|
||||
|
||||
<p class="mt-5">Rust’s unique ownership model is a challenge at the beginning, but once you internalize it, you can write extremely efficient multi-core code without fear of invoking undefined behavior.</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">It also makes it straightforward to call directly into the C-based APIs of the operating system. Rust makes it possible for a small team to build a complex product quickly, and Zed wouldn’t have been possible without it.</p>
|
||||
|
||||
<p class="mt-5">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>
|
||||
</article>
|
||||
|
||||
<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>
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">GPUI</h3>
|
||||
<p class="mt-3">We originally planned to use Electron as a convenient means of delivering a cross-platform GUI for Zed while building the core of the application in Rust. But at every turn, we found that web technology was the bottleneck in achieving amazing performance.</p>
|
||||
|
||||
<p class="mt-5">Finally, we decided to take full control and simply build a GPU-powered UI framework that met our needs. We call it GPUI.</p>
|
||||
|
||||
<p class="mt-5">We took a lot of inspiration from Mozilla’s Webrender project. The key insight was that modern graphics hardware can render complex 3D graphics at high frame rates, so why not use it to render relatively simple 2D user interfaces with an immediate mode architecture? </p>
|
||||
|
||||
<p class="mt-5">Rust’s ownership model required us to rethink much of what we learned in other UI programming paradigms, but the result is a framework that’s productive to use and remarkably easy to reason about.</p>
|
||||
|
||||
<p class="mt-5">It’s liberating to control every pixel, and it’s a rush to push those pixels at lightning speed.</p>
|
||||
</article>
|
||||
|
||||
<p class="mt-5 leading-relaxed">We’re 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>
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Conflict-free replicated data types</h3>
|
||||
|
||||
<p class="mt-3">Real-time collaborative editing presents the illusion that multiple people are editing the same buffer. In reality, each collaborator maintains their own personal replica of the buffer to which they can apply local edits immediately without network latency.</p>
|
||||
|
||||
<p class="mt-5">After being applied locally, edits are transmitted to collaborators over the network, whose copies may have also changed in the meantime. This means that as participants edit together, their replicas continuously diverge and reconverge. Turns out this is a tricky problem.</p>
|
||||
|
||||
<p class="mt-5">To solve it, we’re using conflict-free replicated data types, which have emerged in the last decade as a general framework for achieving eventual consistency in a variety of circumstances.</p>
|
||||
|
||||
<p class="mt-5">Making Zed’s buffers CRDTs allows for collaborative editing, but it also helps us reason about concurrent change so that we can push work into background threads and keep the UI thread responsive.</p>
|
||||
</article>
|
||||
|
||||
<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—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>
|
||||
<article class="leading-relaxed">
|
||||
<h3 class="mt-10 mb-4 leading-tight text-white font-display font-extralight">Tree-sitter</h3>
|
||||
|
||||
<p class="mt-3">We plan to integrate with the Language Server Protocol to support advanced IDE features, but we also think it’s important for a code editor to have a rich, native understanding of syntax.</p>
|
||||
|
||||
<p class="mt-5">That’s why we built Tree-sitter, a fast, general, incremental parsing library that can provide Zed with syntax trees for over 50 languages. Tree-sitter already powers production functionality on GitHub, and we’ll use it to deliver syntactically-precise syntax highlighting, tree-based selection and cursor navigation, robust auto-indent support, symbolic navigation, and more.</p>
|
||||
</article>
|
||||
|
||||
<p class="mt-10 mb-10 leading-relaxed">———</p>
|
||||
|
||||
|
|
|
@ -34,13 +34,31 @@
|
|||
|
||||
<body class="box-border font-light bg-black font-body text-main">
|
||||
<main class="container flex flex-col mx-auto lg:bg-white lg:flex-none lg:grid lg:min-h-full lg:grid-cols-4 max-w-screen-2xl lg:gap-x-px text-gray-50">
|
||||
<nav class="p-10 pb-0 bg-black font-extralight lg:hidden">
|
||||
<a href="/" class="block hover:opacity-80">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0ZM16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 10L23.5 10L14.875 19H19L22 22H8.5L17.125 13H13L10 10Z" fill="white"/>
|
||||
</svg>
|
||||
</a>
|
||||
<nav class="p-5 pt-10 pb-0 bg-black font-extralight lg:hidden">
|
||||
<div class="flex flex-row justify-between">
|
||||
<a href="/" class="block hover:opacity-80">
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0ZM16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 10L23.5 10L14.875 19H19L22 22H8.5L17.125 13H13L10 10Z" fill="white"/>
|
||||
</svg>
|
||||
</a>
|
||||
<div class="flex flex-row">
|
||||
{{#if current_user}}
|
||||
|
||||
<form id="sign_out" action="/sign_out" method="post" class="inline m-0 text-gray-500 font-extralight">
|
||||
<button class="text-lg leading-relaxed √ no-underline font-extralight hover:underline">Log Out</button>
|
||||
</form>
|
||||
|
||||
{{else}}
|
||||
|
||||
<!-- Otherwise let user log in -->
|
||||
<a href=" /sign_in"
|
||||
class="text-lg leading-relaxed text-gray-500">
|
||||
Log in
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row flex-wrap mt-10">
|
||||
<a href="/" class="mr-2 text-lg leading-relaxed">
|
||||
|
@ -66,18 +84,6 @@
|
|||
Manage Users <span class="pt-1 mr-1 text-lg text-gray-500">·</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
|
||||
<form id="sign_out" action="/sign_out" method="post" class="inline m-0 mr-2 font-extralight text-gray-50">
|
||||
<button class="text-lg leading-relaxed no-underline font-extralight text-gray-50 hover:underline">Log Out</button>
|
||||
</form>
|
||||
|
||||
{{else}}
|
||||
|
||||
<!-- Otherwise let user log in -->
|
||||
<a href=" /sign_in"
|
||||
class="mr-2 text-lg leading-relaxed">
|
||||
Log in
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -127,9 +127,9 @@
|
|||
<div class="content">
|
||||
<h3 class="mb-2 font-display font-extralight">Want to join us?</h3>
|
||||
<div class="">
|
||||
<p class="mt-3 mb-3 leading-relaxed">We hope to bring a few more staff level engineers in the near future. Come join us in building the next generation of software.</p>
|
||||
<p class="mt-3 mb-3 leading-relaxed">We hope to bring a few more staff-level engineers in the near future. Come join us in building the next generation of software.</p>
|
||||
|
||||
<p class="mt-3 mb-3 leading-relaxed"><a class="underline" href="mailto:nathan@zed.dev">Drop us a line</a>.</p>
|
||||
<p class="mt-3 mb-3 leading-relaxed"><a class="underline hover:no-underline" href="mailto:nathan@zed.dev">Drop us a line</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
|
Loading…
Reference in a new issue