<?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: Ishan Parlikar</title>
    <description>The latest articles on DEV Community by Ishan Parlikar (@ishan_parlikar).</description>
    <link>https://dev.to/ishan_parlikar</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%2F846457%2F89bc3064-dcb8-4534-8794-0e97b33bee93.png</url>
      <title>DEV Community: Ishan Parlikar</title>
      <link>https://dev.to/ishan_parlikar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ishan_parlikar"/>
    <language>en</language>
    <item>
      <title>Introducing Signals in React 🚥</title>
      <dc:creator>Ishan Parlikar</dc:creator>
      <pubDate>Wed, 14 Sep 2022 05:09:26 +0000</pubDate>
      <link>https://dev.to/ishan_parlikar/introducing-signals-in-react-28k6</link>
      <guid>https://dev.to/ishan_parlikar/introducing-signals-in-react-28k6</guid>
      <description>&lt;p&gt;We have all heard/used states in React. It is a way to observe a value and its change to update the UI accordingly without triggering full page refresh. It is very useful but it comes at a cost, State change triggers re-rendering of the component, Which can hit the performance. &lt;/p&gt;

&lt;h2&gt;
  
  
  Preact
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://preactjs.com/"&gt;Preact&lt;/a&gt; is a 3kb alternative library which uses same API as React. But since its smaller, it ships less code to the browser.&lt;br&gt;
Recently, They have announced a new package which is available to install react as well called Signals.&lt;br&gt;
&lt;a href="https://preactjs.com/guide/v10/signals/"&gt;Docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;According to Docs:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What makes Signals unique is that state changes automatically update components and UI in the most efficient way possible. Automatic state binding and dependency tracking allows Signals to provide excellent ergonomics and productivity while eliminating the most common state management footguns.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What signal does is, It is a object containing a property &lt;code&gt;.value&lt;/code&gt;, Once defined that signal/object remains the same but its value can change and when it does it notifies this change so that reference to that value can be updated.&lt;/p&gt;

&lt;p&gt;Couple of things that make this interesting are,&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Signals do not trigger re-renders of whole component, instead they just update the value in place.&lt;/li&gt;
&lt;li&gt;They can be defined globally and imported in other components, So whenever value for specific signal changes, It can update the UI with the value throughout the application.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  To Install Signal in React
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install @preact/signals-react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Simple Use case
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import {signal} from '@preact/signals-react'

//create a signal
const count = signal(0)

const App = () =&amp;gt;{
 return(
   &amp;lt;&amp;gt;
     &amp;lt;p&amp;gt;{count.value}&amp;lt;/p&amp;gt;
   &amp;lt;/&amp;gt;
)}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://github.com/preactjs/signals"&gt;Preact signal Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So try it and let me know what you guys think. &lt;/p&gt;

&lt;p&gt;Cheers and Happy Coding 🍻👩‍💻&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Yet another Portfolio website written in SvelteKit and Tailwind</title>
      <dc:creator>Ishan Parlikar</dc:creator>
      <pubDate>Sun, 21 Aug 2022 13:34:59 +0000</pubDate>
      <link>https://dev.to/ishan_parlikar/yet-another-portfolio-website-written-in-sveltekit-and-tailwind-1lhd</link>
      <guid>https://dev.to/ishan_parlikar/yet-another-portfolio-website-written-in-sveltekit-and-tailwind-1lhd</guid>
      <description>&lt;p&gt;One of the important aspect of a developer life is to showcase his/her skills. It can be done in many ways but as a web developer we can show it through a portfolio website which can be shared easily with others.&lt;/p&gt;

&lt;p&gt;At some time in our journey as developer most of us have developed some kind of portfolio website. My goal was the same by using some of the latest technologies and making it in a way so that anyone could modify it or update it without much of hassle. For this purpose I chose &lt;strong&gt;&lt;a href="https://kit.svelte.dev/"&gt;SvelteKit&lt;/a&gt;&lt;/strong&gt; as my Javascript Framework with &lt;strong&gt;TailwindCSS&lt;/strong&gt; and &lt;strong&gt;Typescript&lt;/strong&gt;. Let me walk you through some of my thoughts which led to choose this particular stack.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;PS: I am not a UI/UX Designer, But any suggestions are welcome always&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="//portfolio-pi-navy-73.vercel.app/"&gt;Portfolio Demo&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/ishaanparlikar/portfolio"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why SvelteKit?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;I like the fact that Svelte or Sveltekit does not ship any additional library or code to the browser. It compiles down to raw JavaScript which can read by the browser efficiently.&lt;/li&gt;
&lt;li&gt;Sveltekit gives me SSR which can help in SEO optimization but It can also do CSR and SSG.&lt;/li&gt;
&lt;li&gt;By default it handles routing for you.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tailwind CSS
&lt;/h3&gt;

&lt;p&gt;I have been working in tailwind for a while now and It really makes my development workflow fast. I am aware of the criticism that tailwind receive and I also sometimes feel the same but for this purpose I wanted to keep it simple.On top of it, it gives me theming options so I can customize it later from a single file.&lt;br&gt;
Also, I am using &lt;a href="https://daisyui.com/"&gt;daisy UI&lt;/a&gt; on top of the tailwind for UI Components .&lt;/p&gt;

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

&lt;p&gt;Its 2022 😂&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Other Libraries&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.iconify.design/icon-components/svelte/"&gt;Iconify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firebase (Analytics)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.emailjs.com/"&gt;Email Js&lt;/a&gt; For Inquiry and Contact form submission.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Now let me walk you through some of the features of this.&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Minimal Dependencies and Latest technologies&lt;/li&gt;
&lt;li&gt;Locale Ready (Add your Details in locale file and you are set). It will handle SEO tags as well.&lt;/li&gt;
&lt;li&gt;Ready for SSR, SSG, CSR&lt;/li&gt;
&lt;li&gt;Dark Mode/Light Mode&lt;/li&gt;
&lt;li&gt;Firebase Analytics - Add Config into env file and start Tracking&lt;/li&gt;
&lt;li&gt;Type-safe&lt;/li&gt;
&lt;li&gt;Contact form submission with Email-Js.(Add the API Keys to ENV file)&lt;/li&gt;
&lt;li&gt;SEO Ready.&lt;/li&gt;
&lt;li&gt;Simple File Structure.&lt;/li&gt;
&lt;li&gt;Update JSON and Image files in &lt;code&gt;lib/assets/&lt;/code&gt; and Go.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ELaV68Y5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e2fdbgyazuyknq6quo8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ELaV68Y5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e2fdbgyazuyknq6quo8g.png" alt="Image description" width="426" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website serves as a template to one who wants to get quickly started. You can customize color schemes in tailwind config files. After designing template it took me half hour to upload all the content and host it on vercel.&lt;/p&gt;

&lt;p&gt;You can check my portfolio here &lt;a href="https://www.ishanparlikar.dev/"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I know there will be some bugs and issues. If you find any please write to me or create an issue on GitHub.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Any suggestions are welcome&lt;/em&gt;&lt;br&gt;
&lt;em&gt;If you like it don't forget to ⭐ it or Fork it.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>svelte</category>
      <category>tailwindcss</category>
      <category>typescript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
