<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: andythedishwasher</title>
    <description>The latest articles on DEV Community by andythedishwasher (@andythedishwasher).</description>
    <link>https://dev.to/andythedishwasher</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F928463%2Fb47ceb6c-03ed-4d01-b53b-2c7fb21e9b57.png</url>
      <title>DEV Community: andythedishwasher</title>
      <link>https://dev.to/andythedishwasher</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andythedishwasher"/>
    <language>en</language>
    <item>
      <title>Yew can do it!</title>
      <dc:creator>andythedishwasher</dc:creator>
      <pubDate>Fri, 30 Sep 2022 15:09:21 +0000</pubDate>
      <link>https://dev.to/andythedishwasher/yew-can-do-it-304e</link>
      <guid>https://dev.to/andythedishwasher/yew-can-do-it-304e</guid>
      <description>&lt;p&gt;So I've only been exploring Rust seriously for the past couple of weeks, but I already see some pretty amazing things happening. I've started learning about how it works server-side with Actix Web and how it can run game scripts with Godot or even whole new Rust engines like Bevy (though those are still in beta for the most part).&lt;/p&gt;

&lt;p&gt;What I've been the most excited about, however, is the possibility of using Rust for web development. Javascript has, to put it mildly, invoked a lot of ire in the web development community over the years. Its dynamic type system is notorious for creating runtime errors that the compiler doesn't have the necessary information to catch prior to a deployment. These errors are one of the major reasons that large-scale Javascript teams often have to spend almost as much time, energy, and manpower on testing as they do on the development itself.&lt;/p&gt;

&lt;p&gt;Rust, on the other hand, has a beautiful set of features collectively known in The Rust Book as Ownership and Lifetimes. These concepts work together to form Rust's highly specific rules surrounding memory management of variables. These rules, without diving too deep into the ampersands and double colons, serve to ensure that if any variables are accessed at a time when they may not contain the expected value, the compiler will be aware of the fact and request a confirmation in the form of some identifier for the unsafe behavior or suggest an alternate approach to retrieving the value, all before the code ever actually runs incorrectly!&lt;/p&gt;

&lt;p&gt;And now, we may finally be to the point where we can get these guarantees for web development! While Yew is still in beta and as such isn't stable enough for production builds yet, it appears to be an extremely smooth workflow. Build times are extremely reasonable. The directory sizes are entirely manageable. The only slight performance issue seems to be the time required to build the initial page content from the web assembly and Javascript, but once it is built, everything operates at excellent speeds as one would expect from memory-safe Rust code. &lt;/p&gt;

&lt;p&gt;Below are links to a hosted demo of a calculator I built with Yew and a Github repo for it. While it is unfortunately not production ready, my hope is to generate more interest in Yew's development and external support so that it has an easier time getting off the ground. It will be a great relief to leave web development in Javascript behind, but until then, thanks Web Assembly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rust.thecodekitchen.xyz/"&gt;Rust Calculator Built With Yew&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/andythedishwasher/yew_calculator"&gt;Github Repo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>yew</category>
      <category>webassembly</category>
      <category>webdev</category>
    </item>
    <item>
      <title>SurrealDB looks nuts, right?</title>
      <dc:creator>andythedishwasher</dc:creator>
      <pubDate>Sun, 18 Sep 2022 22:26:13 +0000</pubDate>
      <link>https://dev.to/andythedishwasher/surrealdb-looks-nuts-right-25p6</link>
      <guid>https://dev.to/andythedishwasher/surrealdb-looks-nuts-right-25p6</guid>
      <description>&lt;p&gt;I literally just discovered this platform as a means of getting in contact with the two brothers responsible for this apparent revolution in database query languages. Saw a Fireship video about it, spun it up on localhost with their nifty little CLI tool, followed their dead simple docs straight through a painless node client setup, and watched the magic. I had a buggy mess of a backend automations demo that I had to remove from my website the other day, but I'm pretty sure that once cloud hosting for SurrealDB is available, I will be able to replace about three different platforms I was trying to integrate with it. Here's a FigJam map describing what I'm talking about:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/file/OQQ501uPOmjXoTH9qgWjoG/Untitled?node-id=0%3A1"&gt;Link&lt;/a&gt;&lt;/p&gt;

</description>
      <category>surrealdb</category>
      <category>sql</category>
      <category>graphql</category>
      <category>rest</category>
    </item>
  </channel>
</rss>
