<?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>Forem: Dan Minshew</title>
    <description>The latest articles on Forem by Dan Minshew (@newswim).</description>
    <link>https://forem.com/newswim</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%2F8099%2Fa58f8982-9b1a-45f6-8d54-9d9ae43ce4a6.jpg</url>
      <title>Forem: Dan Minshew</title>
      <link>https://forem.com/newswim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/newswim"/>
    <language>en</language>
    <item>
      <title>Getting started with TypeScript</title>
      <dc:creator>Dan Minshew</dc:creator>
      <pubDate>Fri, 31 May 2019 19:39:21 +0000</pubDate>
      <link>https://forem.com/newswim/getting-started-with-typescript-25l9</link>
      <guid>https://forem.com/newswim/getting-started-with-typescript-25l9</guid>
      <description>&lt;p&gt;Everybody’s talking about the Microsoft-backed superset of JavaScript. Many new libraries are being written with types in mind, and many still are adding types for both safety and improved developer experience.&lt;/p&gt;

&lt;p&gt;Getting started can be a little challenging, especially if your background is in more dynamic languages (true for me). What follows are some resources that helped me get ramped-up and familiar with the syntax and ecosystem. Enjoy!&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;p&gt;There are a few ways to try out TypeScript.&lt;/p&gt;

&lt;p&gt;If you’re already using Babel, there’s a new preset that shipped with Babel 7. Check out this article for more: &lt;a href="https://iamturns.com/typescript-babel/"&gt;https://iamturns.com/typescript-babel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to use CRA (create-react-app), use the&lt;code&gt;--typescript&lt;/code&gt; flag when generating a new project from the CLI. &lt;a href="https://facebook.github.io/create-react-app/docs/adding-typescript"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to add Typescript to an existing CRA? There’s a &lt;a href="https://vincenttunru.com/migrate-create-react-app-typescript-to-create-react-app/"&gt;migration path&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you simply want to try out the language in a browser, try the &lt;a href="http://www.typescriptlang.org/play/"&gt;Official Playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, if you want to try out the compiler locally, use the &lt;a href="https://www.typescriptlang.org/docs/tutorial.html"&gt;Getting Started Guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Typescript
&lt;/h3&gt;

&lt;p&gt;Somewhat paradoxically, TS has opened up the front-end world to a lot of developers from more traditional backgrounds in statically typed languages.&lt;/p&gt;

&lt;p&gt;Most important is probably the &lt;a href="https://www.typescriptlang.org/docs/handbook/basic-types.html"&gt;&lt;strong&gt;&lt;em&gt;Official Handbook&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are a lot of blogs and articles dedicated to on-ramping, style, OOP, common pitfalls, advanced types, etc. — here are a few highlights.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://scrimba.com/g/gintrototypescript"&gt;Gentle Intro To TypeScript (interactive videos)&lt;/a&gt; ⭐
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://2ality.com/2018/04/type-notation-typescript.html"&gt;Understanding TypeScript’s type notation - 2ality&lt;/a&gt; ⭐
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://basarat.gitbooks.io/typescript"&gt;TypeScript Deep Dive - Basarat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://auth0.com/blog/typescript-practical-introduction/"&gt;TypeScript Practical Introduction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.mariusschulz.com/series/typescript-evolution"&gt;TypeScript Evolution&lt;/a&gt; (covers 2.0)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Typescript + React
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Introductory&lt;/em&gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://fettblog.eu/typescript-react/"&gt;https://fettblog.eu/typescript-react&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/piotrwitek/react-redux-typescript-guide"&gt;https://github.com/piotrwitek/react-redux-typescript-guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sw-yx/react-typescript-cheatsheet"&gt;https://github.com/sw-yx/react-typescript-cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Use cases&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tinkerylabs.com/react-context-api-with-hooks/"&gt;https://tinkerylabs.com/react-context-api-with-hooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functional Typescript
&lt;/h2&gt;

&lt;p&gt;Libraries like Lodash and Ramda have been empowering a functional style for a long time, now developers can implement ideas directly from languages like Haskell and Scala.&lt;/p&gt;

&lt;h3&gt;
  
  
  A few very notable projects:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/gcanti/fp-ts"&gt;FP-TS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gigobyte/purify"&gt;Purify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/piotrwitek/utility-types"&gt;piotrwitek/utility-types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/funfix/funfix"&gt;FunFix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Some articles on FP
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://vindum.io/blog/lets-reinvent-frp/"&gt;http://vindum.io/blog/lets-reinvent-frp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.synthesis.co.za/functional-fun-typescript-generics/"&gt;https://www.synthesis.co.za/functional-fun-typescript-generics&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reaktor.com/blog/fear-trust-and-javascript/"&gt;https://www.reaktor.com/blog/fear-trust-and-javascript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last one is a kind of refutation on the incompatibility of JavaScript and FP with types. It’s not wholly hostile, and I learned something from reading it, so I’ll leave it in (for balance!)&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>functional</category>
      <category>programming</category>
    </item>
    <item>
      <title>Hi, I'm Dan Minshew</title>
      <dc:creator>Dan Minshew</dc:creator>
      <pubDate>Mon, 27 Feb 2017 01:23:51 +0000</pubDate>
      <link>https://forem.com/newswim/hi-im-dan-minshew</link>
      <guid>https://forem.com/newswim/hi-im-dan-minshew</guid>
      <description>&lt;p&gt;I have been coding since January 2014.&lt;/p&gt;

&lt;p&gt;You can find me on GitHub as &lt;a href="https://github.com/newswim" rel="noopener noreferrer"&gt;Newswim&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I live in &lt;a href="https://en.wikipedia.org/wiki/Denton,_Texas" rel="noopener noreferrer"&gt;Denton, Tx&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I currently work for &lt;a href="http://touchtitans.com/" rel="noopener noreferrer"&gt;Touch Titans&lt;/a&gt; building mobile and web applications.&lt;/p&gt;

&lt;p&gt;I mostly program in JavaScript.&lt;/p&gt;

&lt;p&gt;I am learning more about &lt;code&gt;Elm&lt;/code&gt;, &lt;code&gt;Haskell&lt;/code&gt;, &lt;code&gt;Go&lt;/code&gt;, &lt;code&gt;Solidity&lt;/code&gt;, service-based architecture, machine learning, blockchain, proofs, fun math things, Audio/Video on the web, data viz, community building and teaching!&lt;/p&gt;

</description>
      <category>introduction</category>
    </item>
  </channel>
</rss>
