This repository has been archived on 2022-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
skynet-webportal/packages/website/src/pages/developers.js

179 lines
6.2 KiB
JavaScript
Raw Normal View History

2021-03-28 14:46:32 +00:00
import * as React from "react";
2021-04-01 12:46:00 +00:00
import { Section, SectionTitle, CardWithDescription } from "../components/Layout";
2021-03-31 16:12:18 +00:00
import { Carousel } from "../components/Carousel/Carousel";
2021-03-28 16:34:52 +00:00
import { ExternalLink, DataSwap, Encryption, Layers, Mesh, Toolkit, DevBig } from "../components/Icons";
2021-03-29 13:10:03 +00:00
import CodeTerminal from "../components/CodeTerminal";
2021-04-07 13:18:40 +00:00
import Seo from "../components/seo";
2021-03-29 21:32:17 +00:00
import Link from "../components/Link";
2021-03-28 14:46:32 +00:00
2021-03-28 16:34:52 +00:00
const LearnMoreButton = () => (
2021-03-29 21:32:17 +00:00
<Link
2021-03-30 10:56:05 +00:00
href="https://support.siasky.net/the-technology/developing-on-skynet"
2021-03-31 11:24:05 +00:00
className="button-secondary-dark inline-block px-10 mt-7"
2021-03-28 16:34:52 +00:00
>
Learn more
2021-03-29 21:32:17 +00:00
</Link>
2021-03-28 16:34:52 +00:00
);
const reasonCards = [
{
Icon: DataSwap,
2021-04-01 18:19:37 +00:00
title: "Immutable Data, Globally Available & Trustless",
2021-05-11 16:15:35 +00:00
text: "Our immutable data layer means files are instantly accessible on any device, by any portal and are fully verifiable, by leveraging trustless, decentralized storage on the Sia blockchain.",
2021-03-28 16:34:52 +00:00
},
{
Icon: Encryption,
2021-04-01 18:19:37 +00:00
title: "Dynamic Content with a User-Focus",
2021-05-11 16:15:35 +00:00
text: "SkyDB enables complex apps by providing a key-value store for mutable data secured by the private key of the user.",
2021-03-28 16:34:52 +00:00
},
{
Icon: Layers,
title: "BYO Frontend Library",
2021-05-11 16:15:35 +00:00
text: "Our SDKs are built with web2 developers in mind. Client-side web apps and static generators are perfect for using Skynet to deploy with.",
2021-03-28 16:34:52 +00:00
},
{
Icon: Mesh,
title: "Decentralized Stack-Friendly",
2021-05-11 16:15:35 +00:00
text: "With integrations with HNS & ENS, along with easy-access for off-chain storage, Skynet is positioned to connect with the DWeb and web3 technologies you need.",
2021-03-28 16:34:52 +00:00
},
{
Icon: Toolkit,
2021-04-01 18:19:37 +00:00
title: "Hack Today & Activate an Existing User Base",
2021-05-11 16:15:35 +00:00
text: "Start building without worrying about server overhead costs or where users will come from. Bootstrap the user experience with interoperable storage and user-identity right out of the box.",
2021-03-28 16:34:52 +00:00
},
];
const resources = [
2021-03-30 10:56:05 +00:00
{
title: "Skynet Developer Guide",
description: "Developer portal for resources and guides.",
href: "https://support.siasky.net/the-technology/developing-on-skynet",
},
{
title: "Skynet SDK Docs",
description: "SDKs in Javascript, Go, Python and more.",
href: "https://siasky.net/docs/",
},
{
title: "Skynet AppStore",
description: "Explore webs apps in the ecosystem, many open source.",
href: "https://skapp.hns.siasky.net",
},
2021-03-30 10:56:05 +00:00
{
title: "Skynet Core Repo",
description: "The code base that makes the rest tick.",
2021-04-13 10:05:03 +00:00
href: "https://gitlab.com/SkynetLabs/skyd",
2021-03-30 10:56:05 +00:00
},
2021-03-28 16:34:52 +00:00
{
title: "Skynet on Github",
description: "Includes SDKs, resources, and web portal. PRs always welcome.",
2021-04-13 10:05:03 +00:00
href: "https://github.com/SkynetLabs",
2021-03-28 16:34:52 +00:00
},
{
title: "Join us on Discord",
description: "A generous developer community, ready to solve hard problems.",
2021-04-02 15:41:24 +00:00
href: "https://discord.gg/skynetlabs",
2021-03-28 16:34:52 +00:00
},
];
const docs = [
2021-03-30 10:56:05 +00:00
{ name: "Developer Guide", href: "https://support.siasky.net/the-technology/developing-on-skynet" },
{ name: "Skynet SDK Docs", href: "https://siasky.net/docs/" },
2021-03-28 16:34:52 +00:00
];
2021-03-28 14:46:32 +00:00
const DevelopersPage = () => (
2021-04-01 12:46:00 +00:00
<>
2021-04-07 13:18:40 +00:00
<Seo title="Developers" />
2021-03-28 16:34:52 +00:00
2021-04-01 13:07:56 +00:00
<Section first={true} width="layout">
2021-03-29 21:32:17 +00:00
<div className="flex flex-col desktop:flex-row desktop:space-y-0 space-y-12 desktop:space-x-12">
2021-04-01 13:07:56 +00:00
<div className="space-y-12 desktop:w-1/2 desktop:text-right">
2021-03-29 21:32:17 +00:00
<h1 className="text-white">
2021-04-01 15:48:23 +00:00
Decentralized Apps with speed, confidence, and{" "}
<span className="text-primary underline-white">usability</span>
2021-03-29 13:10:03 +00:00
</h1>
<ul className="space-y-2">
{docs.map(({ name, href }, index) => (
<li key={index}>
2021-03-29 21:32:17 +00:00
<Link
2021-03-29 13:10:03 +00:00
href={href}
2021-03-31 11:24:05 +00:00
className="text-primary font-light text-lg inline-flex hover:text-primary-light transition-colors duration-200"
2021-03-29 13:10:03 +00:00
>
{name} <ExternalLink className="fill-current inline-block ml-2" height={28} />
2021-03-29 21:32:17 +00:00
</Link>
2021-03-29 13:10:03 +00:00
</li>
))}
</ul>
</div>
2021-04-01 13:07:56 +00:00
<div className="desktop:w-1/2">
<CodeTerminal />
</div>
2021-03-29 13:10:03 +00:00
</div>
2021-03-28 16:34:52 +00:00
</Section>
2021-04-01 13:07:56 +00:00
<Section className="bg-palette-100">
2021-04-01 16:05:47 +00:00
<SectionTitle className="mb-7 desktop:hidden">Plenty of reasons to use Skynet</SectionTitle>
2021-03-28 16:34:52 +00:00
2021-03-31 11:24:05 +00:00
<div className="hidden desktop:grid gap-x-8 gap-y-16 grid-cols-3">
2021-03-28 16:34:52 +00:00
<div className="hidden desktop:inline-block">
2021-04-01 16:05:47 +00:00
<SectionTitle>Plenty of reasons to use Skynet</SectionTitle>
2021-03-28 16:34:52 +00:00
<LearnMoreButton />
</div>
{reasonCards.map((card, index) => (
<CardWithDescription key={index} {...card} />
))}
</div>
2021-03-31 11:24:05 +00:00
<div className="desktop:hidden">
2021-03-31 16:12:18 +00:00
<Carousel Component={CardWithDescription} items={reasonCards} />
2021-03-31 11:24:05 +00:00
</div>
2021-03-28 16:34:52 +00:00
<div className="desktop:hidden mt-12 text-center">
<LearnMoreButton />
</div>
</Section>
2021-04-01 13:07:56 +00:00
{/* <Section className="bg-palette-100">
<SectionTitle className="text-center mb-20">Join a community of builders already using Skynet</SectionTitle>
2021-03-28 16:34:52 +00:00
2021-04-01 13:07:56 +00:00
<p className="text-center">cards</p>
</Section> */}
2021-03-28 16:34:52 +00:00
<Section className="bg-white">
2021-04-01 13:07:56 +00:00
<SectionTitle className="text-center mb-20">Join a community of builders already using Skynet</SectionTitle>
2021-04-08 15:13:15 +00:00
<div className="grid grid-cols-1 desktop:gap-x-8 gap-y-10 desktop:grid-cols-3">
2021-03-28 16:34:52 +00:00
<div className="space-y-8">
<DevBig width="170" viewBox="90 0 170 142" />
<SectionTitle>Start building with Skynet</SectionTitle>
<p className="font-light text-lg">
Whether hosting your front-end or building a full-scale web app, start here.
</p>
</div>
<ul className="col-span-2 space-y-1">
{resources.map(({ href, title, description }, index) => (
<li key={index}>
2021-03-29 21:32:17 +00:00
<Link
2021-03-28 16:34:52 +00:00
href={href}
2021-03-31 11:24:05 +00:00
className="block bg-palette-100 px-8 py-5 rounded border-2 border-transparent hover:border-palette-600 transition-colors duration-200"
2021-03-28 16:34:52 +00:00
>
<div className="font-semibold text-lg">{title}</div>
<div className="font-content text-palette-400">{description}</div>
2021-03-29 21:32:17 +00:00
</Link>
2021-03-28 16:34:52 +00:00
</li>
))}
</ul>
</div>
</Section>
2021-04-01 12:46:00 +00:00
</>
2021-03-28 14:46:32 +00:00
);
export default DevelopersPage;