-
-
Notifications
You must be signed in to change notification settings - Fork 8
/
index.html
29 lines (29 loc) · 9.14 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-alpha.70">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="ScalaPB Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="ScalaPB Blog Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-346180-20","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script><title data-react-helmet="true">ScalaPB: Protocol Buffer Compiler for Scala | ScalaPB</title><meta data-react-helmet="true" property="og:title" content="ScalaPB: Protocol Buffer Compiler for Scala | ScalaPB"><meta data-react-helmet="true" name="description" content="ScalaPB compiles protocol buffers into Scala case classes."><meta data-react-helmet="true" property="og:description" content="ScalaPB compiles protocol buffers into Scala case classes."><meta data-react-helmet="true" property="og:image" content="https://scalapb.github.io/img/scalapb-social-light.png"><meta data-react-helmet="true" name="twitter:image" content="https://scalapb.github.io/img/scalapb-social-light.png"><meta data-react-helmet="true" name="twitter:image:alt" content="Image for ScalaPB: Protocol Buffer Compiler for Scala | ScalaPB"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docusaurus_locale" content="en"><meta data-react-helmet="true" name="docusaurus_tag" content="default"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><script data-react-helmet="true">document.addEventListener("DOMContentLoaded",(function(){var n=document.getElementById("base-url-issue-banner-container");if(n){var e=window.location.pathname,t="/"===e.substr(-1)?e:e+"/";n.innerHTML=t}}))</script><link rel="stylesheet" href="/styles.0bbc50d2.css">
<link rel="preload" href="/styles.022ff8f0.js" as="script">
<link rel="preload" href="/runtime~main.2b9ef9a5.js" as="script">
<link rel="preload" href="/main.61b71543.js" as="script">
<link rel="preload" href="/1.d1f2961e.js" as="script">
<link rel="preload" href="/2.f4df6e70.js" as="script">
<link rel="preload" href="/c4f5d8e4.37bb9b64.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div class="baseUrlIssueBanner_1-cE" style="border:solid red thick;background-color:#ffe6b3;margin:20px;padding:20px;font-size:20px"><p style="font-weight:bold;font-size:30px">Your Docusaurus site did not load properly.</p><p>A very common reason is a wrong site <a href="https://v2.docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight:bold">baseUrl configuration</a>.</p><p>Current configured baseUrl = <span style="font-weight:bold;color:red">/</span> (default value)</p><p>We suggest trying baseUrl = <span style="font-weight:bold;color:green" id="base-url-issue-banner-container"></span> </p></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_11B0">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/"><img src="/img/ScalaPB.png" alt="ScalaPB" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/ScalaPB.png" alt="ScalaPB" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"></a><a class="navbar__item navbar__link" href="/docs/">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/scalapb/ScalaPB" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2N3Q"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_3NWk">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_3NWk">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/ScalaPB.png" alt="ScalaPB" class="themedImage_YANc themedImage--light_3CMI navbar__logo"><img src="/img/ScalaPB.png" alt="ScalaPB" class="themedImage_YANc themedImage--dark_3ARp navbar__logo"></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/docs/">Docs</a></li><li class="menu__list-item"><a href="https://github.com/scalapb/ScalaPB" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><header class="hero hero--primary heroBanner_2Ftp"><div class="container"><img src="/img/ScalaPB.png" width="80%"><p class="hero__subtitle">Protocol Buffer Compiler for Scala</p><div class="buttons_1Wc3"><a class="indexCtasGetStartedButton_2SOA" href="/docs/">Get Started</a></div></div></header><main><section class="features_P2SU"><div class="container"><div class="row"><div class="col col--4"><h3>Easy to Use</h3><p>ScalaPB translates Protocol Buffers to Scala case classes. The generated API is easy to use!</p></div><div class="col col--4"><h3>Supports proto2 and proto3</h3><p>ScalaPB is built as a protoc plugin and has perfect compatibility with the protobuf language specification.</p></div><div class="col col--4"><h3>Nested updates</h3><p>Updating immutable nested structure is made easy by an optional lenses support. <a href="docs/generated-code#updating-messages">Learn more.</a></p></div><div class="col col--4"><h3>Interoperate with Java</h3><p>Scala Protocol Buffers can be converted to Java and vice versa. Scala and Java protobufs can co-exist in the same project to make it easier to gradually migrate, or interact with legacy Java APIs.</p></div><div class="col col--4"><h3>Scala.js support</h3><p>ScalaPB fully supports Scala.js so you can write Scala programs that use your domain-specific Protocol Buffers in the browser! <a href="docs/scala.js">Learn more.</a></p></div><div class="col col--4"><h3>gRPC</h3><p>Build gRPC servers and clients with ScalaPB. ScalaPB ships with its own wrapper around the official gRPC Java implementation. There are gRPC libraries for ZIO, Cats Effect and Akka. <a href="docs/grpc"></a></p></div></div></div></section><section class="sponsors_35oK"><div class="container"><h3>Sponsors</h3><div class="col col--4 sponsor_Yeqy"><a href="https://github.com/PentechLtd">Pentech Ltd</a></div><a href="https://github.com/sponsors/thesamet">Become a sponsor.</a></div></section></main></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">Docs</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/">Introduction</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installation</a></li><li class="footer__item"><a href="https://scalapb.github.io/api/scalapb" target="_blank" rel="noopener noreferrer" class="footer__link-item">ScalaDoc</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/scalapb" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow</a></li><li class="footer__item"><a href="https://gitter.im/ScalaPB/community" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitter</a></li><li class="footer__item"><a href="https://groups.google.com/g/scalapb" target="_blank" rel="noopener noreferrer" class="footer__link-item">Google Groups</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">More</h4><ul class="footer__items"><li class="footer__item"><a href="https://github.com/scalapb/ScalaPB" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2014-2024, <a href="https://www.linkedin.com/in/nadav-samet/">Nadav Samet</a></div></div></div></footer></div>
<script src="/styles.022ff8f0.js"></script>
<script src="/runtime~main.2b9ef9a5.js"></script>
<script src="/main.61b71543.js"></script>
<script src="/1.d1f2961e.js"></script>
<script src="/2.f4df6e70.js"></script>
<script src="/c4f5d8e4.37bb9b64.js"></script>
</body>
</html>