<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Dominic Gozza on Medium]]></title>
        <description><![CDATA[Stories by Dominic Gozza on Medium]]></description>
        <link>https://medium.com/@Dom_Gozza?source=rss-25770077d0a2------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Cs0N9pjpdAWqoNd0yLl6QA.jpeg</url>
            <title>Stories by Dominic Gozza on Medium</title>
            <link>https://medium.com/@Dom_Gozza?source=rss-25770077d0a2------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 17:00:17 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@Dom_Gozza/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Complex eCommerce Rules with BigCommerce]]></title>
            <link>https://medium.com/@Dom_Gozza/complex-ecommerce-rules-with-bigcommerce-b3619a2cdd9e?source=rss-25770077d0a2------2</link>
            <guid isPermaLink="false">https://medium.com/p/b3619a2cdd9e</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[frontend]]></category>
            <category><![CDATA[bigcommerce]]></category>
            <category><![CDATA[ecommerce]]></category>
            <dc:creator><![CDATA[Dominic Gozza]]></dc:creator>
            <pubDate>Wed, 03 Aug 2022 14:17:20 GMT</pubDate>
            <atom:updated>2022-08-03T14:24:41.434Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*sMox6OdZtBRgrBbh" /><figcaption>Photo by <a href="https://unsplash.com/@markkoenig?utm_source=medium&amp;utm_medium=referral">Mark König</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>When building headless eCommerce websites, we rely heavily on the built-in capabilities of the platforms chosen to run the brand. However, having so many options at your fingertips can make it challenging to pick the right one.</p><p>I’ve begun training on one of the largest eCommerce platforms that supports native (Stencil) and headless development (react, Vue, Nuxt). I wanted to take a moment from my training and share something that adds a lot of value to brands that are building for the future.</p><p>Usually, when building complex frontends for eCommerce, developers are quick to write complex rules on the frontend instead of the backend (server side). Over time this can cause severe bloat and, if not well documented, confusing code. BigCommerce has the ability to write complex API rules through its product configuration schema. We can move code that can complicate the frontend to the backend for specifically changing product prices and attributes.</p><p>During this article, we will utilize a few API endpoints under the product tree to enable our complex product logic to live on the server.</p><h3>Modifiers</h3><p>👉 Modifiers are built and added to only <strong>one</strong> product at a time! This does not get added to all or groups of products.</p><p>To build and understand how to create complex rules, you first need to understand <a href="https://medium.com/r?url=https%3A%2F%2Fdeveloper.bigcommerce.com%2Fapi-reference%2Fb53222c895907-create-a-product-modifier">Modifiers</a>. Modifiers are pretty simple. It’s a way to make elements to modify a product&#39;s price and other attributes via the API that will return actionable JSON to create UI elements. Think about it like props for a react component just this data is stored in BigCommerce.</p><ol><li>required — This is a boolean</li><li>display_name — This is string</li><li>type — This is a string but only takes these <a href="https://developer.bigcommerce.com/api-reference/b53222c895907-create-a-product-modifier#request-body">values</a> as a valid string</li></ol><p>This will build the data needed to make a component on your <strong>Product Display Page</strong>. Complex rules only work with two or more modifiers so let&#39;s create two modifiers.</p><p>You can hit this endpoint with the body below.</p><p>POST / <a href="https://api.bigcommerce.com/stores/%7B%7Bstore-hash%7D%7D/v3/catalog/products/%7Bid%7D/modifiers">https://api.bigcommerce.com/stores/{{api-access-token}}/v3/catalog/products/{id}/modifiers</a></p><pre>// Body for the first modifier<br>{<br>    &quot;type&quot;: &quot;checkbox&quot;,<br>    &quot;required&quot;: false,<br>    &quot;config&quot;: {<br>        &quot;default_value&quot;: &quot;Yes&quot;,<br>        &quot;checked_by_default&quot;: false,<br>        &quot;checkbox_label&quot;: &quot;Check for Donation&quot;<br>    },<br>    &quot;display_name&quot;: &quot;Add a $5 Donation&quot;<br>}</pre><p>JSON Result</p><pre>{<br>            &quot;id&quot;: 117,<br>            &quot;product_id&quot;: 114,<br>            &quot;name&quot;: &quot;Add-a-$5-Donation1659380123-114&quot;,<br>            &quot;display_name&quot;: &quot;Add a $5 Donation&quot;,<br>            &quot;type&quot;: &quot;checkbox&quot;,<br>            &quot;required&quot;: false,<br>            &quot;sort_order&quot;: 0,<br>            &quot;config&quot;: {<br>                &quot;checkbox_label&quot;: &quot;Check for Donation&quot;,<br>                &quot;checked_by_default&quot;: false<br>            },<br>            &quot;option_values&quot;: [<br>                {<br>                    &quot;id&quot;: 108,<br>                    &quot;option_id&quot;: 117,<br>                    &quot;label&quot;: &quot;Yes&quot;,<br>                    &quot;sort_order&quot;: 0,<br>                    &quot;value_data&quot;: {<br>                        &quot;checked_value&quot;: true<br>                    },<br>                    &quot;is_default&quot;: false,<br>                    &quot;adjusters&quot;: {<br>                        &quot;price&quot;: {<br>                            &quot;adjuster&quot;: &quot;relative&quot;,<br>                            &quot;adjuster_value&quot;: 5<br>                        },<br>                        &quot;weight&quot;: null,<br>                        &quot;image_url&quot;: &quot;&quot;,<br>                        &quot;purchasing_disabled&quot;: {<br>                            &quot;status&quot;: false,<br>                            &quot;message&quot;: &quot;&quot;<br>                        }<br>                    }<br>                },<br>                {<br>                    &quot;id&quot;: 109,<br>                    &quot;option_id&quot;: 117,<br>                    &quot;label&quot;: &quot;No&quot;,<br>                    &quot;sort_order&quot;: 1,<br>                    &quot;value_data&quot;: {<br>                        &quot;checked_value&quot;: false<br>                    },<br>                    &quot;is_default&quot;: true,<br>                    &quot;adjusters&quot;: {<br>                        &quot;price&quot;: null,<br>                        &quot;weight&quot;: null,<br>                        &quot;image_url&quot;: &quot;&quot;,<br>                        &quot;purchasing_disabled&quot;: {<br>                            &quot;status&quot;: false,<br>                            &quot;message&quot;: &quot;&quot;<br>                        }<br>                    }<br>                }<br>            ]<br>        },</pre><pre>// Body for the second modifier<br>{<br>   &quot;type&quot;: &quot;checkbox&quot;,<br>   &quot;required&quot;: false,<br>   &quot;config&quot;: {<br>       &quot;default_value&quot;: &quot;Yes&quot;,<br>       &quot;checked_by_default&quot;: false,<br>       &quot;checkbox_label&quot;: &quot;Check to receive a sticker&quot;<br>   },<br>   &quot;display_name&quot;: &quot;Add an &#39;I Donated&#39; sticker&quot;<br>}</pre><p>JSON Result</p><pre>{<br>            &quot;id&quot;: 118,<br>            &quot;product_id&quot;: 114,<br>            &quot;name&quot;: &quot;Add-an-&#39;I-Donated&#39;-sticker1659385541-114&quot;,<br>            &quot;display_name&quot;: &quot;Add an &#39;I Donated&#39; sticker&quot;,<br>            &quot;type&quot;: &quot;checkbox&quot;,<br>            &quot;required&quot;: false,<br>            &quot;sort_order&quot;: 0,<br>            &quot;config&quot;: {<br>                &quot;checkbox_label&quot;: &quot;Check to receive a sticker&quot;,<br>                &quot;checked_by_default&quot;: false<br>            },<br>            &quot;option_values&quot;: [<br>                {<br>                    &quot;id&quot;: 110,<br>                    &quot;option_id&quot;: 118,<br>                    &quot;label&quot;: &quot;Yes&quot;,<br>                    &quot;sort_order&quot;: 0,<br>                    &quot;value_data&quot;: {<br>                        &quot;checked_value&quot;: true<br>                    },<br>                    &quot;is_default&quot;: false,<br>                    &quot;adjusters&quot;: {<br>                        &quot;price&quot;: null,<br>                        &quot;weight&quot;: null,<br>                        &quot;image_url&quot;: &quot;&quot;,<br>                        &quot;purchasing_disabled&quot;: {<br>                            &quot;status&quot;: false,<br>                            &quot;message&quot;: &quot;&quot;<br>                        }<br>                    }<br>                },<br>                {<br>                    &quot;id&quot;: 111,<br>                    &quot;option_id&quot;: 118,<br>                    &quot;label&quot;: &quot;No&quot;,<br>                    &quot;sort_order&quot;: 1,<br>                    &quot;value_data&quot;: {<br>                        &quot;checked_value&quot;: false<br>                    },<br>                    &quot;is_default&quot;: true,<br>                    &quot;adjusters&quot;: {<br>                        &quot;price&quot;: null,<br>                        &quot;weight&quot;: null,<br>                        &quot;image_url&quot;: &quot;&quot;,<br>                        &quot;purchasing_disabled&quot;: {<br>                            &quot;status&quot;: false,<br>                            &quot;message&quot;: &quot;&quot;<br>                        }<br>                    }<br>                }<br>            ]<br>        }</pre><p>This will build a two checkbox on our PDP that will look like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cPnlxPAUTkGcmhINPOrUlQ.png" /><figcaption>PDP options</figcaption></figure><h3>Complex Rules 🔥</h3><p>Now that we have our two modifiers, we can create complex rules to enable/disable the Add to Cart button. The example I will show here is if a customer selects the “Add an “I Donated” sticker” but does not select the “Add a $5 Donation”.</p><p>We do not want to add an additional $2 to the customer’s order and let them check out because the sticker is only for customers that wish to donate.</p><p>We can do that like this:</p><p>POST / <a href="https://api.bigcommerce.com/stores/%7B%7Bstore-hash%7D%7D/v3/catalog/products/%7Bid%7D/modifiers">https://api.bigcommerce.com/stores/{{store-hash}}/v3/catalog/products/{id}/complex-rules</a></p><pre>{<br>  &quot;product_id&quot;: 114,<br>  &quot;enabled&quot;: true,<br>  &quot;purchasing_disabled&quot;: true,<br>  &quot;purchasing_disabled_message&quot;: &quot;You must donate to receive a sticker&quot;,<br>   &quot;conditions&quot;: [<br>       {<br>           &quot;modifier_id&quot;: 109, // The ID of the modifier<br>           &quot;modifier_value_id&quot;: 117 // The ID of the modifier option in this case it&#39;s modifier 109 and value 117. Meaning the checkbox to donate $5 is not selected (It&#39;s default value)<br>       },<br>       {<br>           &quot;modifier_id&quot;: 110, // ID of the modifier to add a sticker<br>           &quot;modifier_value_id&quot;: 118 // Value of the &quot;yes&quot; selection of the select a sticker.<br>       }<br>   ]<br>}</pre><p>This will create an output for the frontend to consume similar to this:</p><pre>{<br>            &quot;id&quot;: 4,<br>            &quot;product_id&quot;: 114,<br>            &quot;sort_order&quot;: 0,<br>            &quot;enabled&quot;: true,<br>            &quot;stop&quot;: false,<br>            &quot;price_adjuster&quot;: null,<br>            &quot;weight_adjuster&quot;: null,<br>            &quot;purchasing_disabled&quot;: true,<br>            &quot;purchasing_disabled_message&quot;: &quot;You must donate to receive a sticker&quot;,<br>            &quot;purchasing_hidden&quot;: false,<br>            &quot;image_url&quot;: &quot;&quot;,<br>            &quot;conditions&quot;: [<br>                {<br>                    &quot;rule_id&quot;: 4,<br>                    &quot;modifier_id&quot;: 117,<br>                    &quot;modifier_value_id&quot;: 109,<br>                    &quot;variant_id&quot;: null,<br>                    &quot;combination_id&quot;: 0<br>                },<br>                {<br>                    &quot;rule_id&quot;: 4,<br>                    &quot;modifier_id&quot;: 118,<br>                    &quot;modifier_value_id&quot;: 110,<br>                    &quot;variant_id&quot;: null,<br>                    &quot;combination_id&quot;: 0<br>                }<br>            ]<br>}</pre><p>Now that we have our Modifiers set up and our Complex Rules setup we can anticipate some frontend logic based on selected values and the returned responses from the API for products.</p><p>Now you can attempt to select “receive a sticker” but not “Check for Donation,” and when you call the API to retrieve the new price or information about the product, it’ll return JSON similar to this.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/902/1*7bwnfwyWEhbBb7ZkzDbhJg.png" /><figcaption>Response from <a href="https://bigdev-b6.mybigcommerce.com/remote/v1/product-attributes/114">https://api.bigcommerce.com/remote/v1/product-attributes/114</a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/914/1*PJATWc63jWtIU181TTA5ig.png" /></figure><p>Above is a simple frontend example that was built to handle the purchaseable boolean now returned from the complex rule!</p><p>Hopefully, this was helpful! I highly recommend utilizing complex rules and modifiers when building in Stencil or Headless!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b3619a2cdd9e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Quick and easy way to use Hooks in Class Components!]]></title>
            <link>https://medium.com/@Dom_Gozza/quick-and-easy-way-to-use-hooks-in-class-components-9e438d389861?source=rss-25770077d0a2------2</link>
            <guid isPermaLink="false">https://medium.com/p/9e438d389861</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[hooks]]></category>
            <dc:creator><![CDATA[Dominic Gozza]]></dc:creator>
            <pubDate>Tue, 06 Aug 2019 18:04:09 GMT</pubDate>
            <atom:updated>2019-08-06T18:09:44.732Z</atom:updated>
            <content:encoded><![CDATA[<p>We are all aware that you can’t use hooks inside of Class Components so I figured I would share a very simple way to utilize the best part of react inside of a Class.</p><h3>First write a hook:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gNTS_76AQ7CdfS-ubUJlbw.png" /><figcaption>Hook!</figcaption></figure><p>Here is a quick example of a simple hook that returns some data that we then format and then return.</p><h3>Second write a render props component:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7CH1QbGtTPZF6CYQVusR3A.png" /><figcaption>Render Props Component</figcaption></figure><p>Here is a simple render props component that utilizes render props to send the value to it’s child component.</p><h3>Lastly use the Render Props Component!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/942/1*mOEiVzgQLN9ga3G4ZGSNQg.png" /><figcaption>Usage</figcaption></figure><p>Here we pass the value in from the component to the DropDown as options to be rendered and displayed!</p><h3>Our Result!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/584/1*-bE8dppS0SAHUb3qnAimYA.png" /><figcaption>Dropdown with data</figcaption></figure><p>Happy coding :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9e438d389861" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The missing piece to React Native]]></title>
            <link>https://medium.com/@Dom_Gozza/the-missing-piece-to-react-native-b57acb578724?source=rss-25770077d0a2------2</link>
            <guid isPermaLink="false">https://medium.com/p/b57acb578724</guid>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[react]]></category>
            <dc:creator><![CDATA[Dominic Gozza]]></dc:creator>
            <pubDate>Wed, 17 May 2017 17:00:22 GMT</pubDate>
            <atom:updated>2017-05-17T17:02:07.900Z</atom:updated>
            <content:encoded><![CDATA[<h4>Easily build complex mobile apps using React Native</h4><p><a href="https://gumroad.com/reactscreens">React Screens</a></p><p>React Screens are simple to use React Native screens. Built with strictly react native components. The website will feature a list of react native screen components that you are able to easily install and use in your next react native app.</p><blockquote><strong>You’ll be able to find the component you are looking for to drop into your application by simply searching for it on the website.</strong></blockquote><blockquote><strong>Then when you have found the component you need. You will simply be able to scan the QR code with the </strong><a href="https://medium.com/u/df61a4267d7a"><strong>Exponent</strong></a><strong> phone application to instantaneously view the component on your phone before using it.</strong></blockquote><blockquote><strong>You’ll be able to instantaneously import the exact UI elements you need for your application.</strong></blockquote><p>React Screens will be releasing a minimum of 2 new react native components a month.</p><p>Our first set of screens are coming soon! This bundle includes 4 screens for instant use in any React Native project <a href="https://exp.host/@zackify/demo">click here if on your phone</a> to see a demo of our first two screens.</p><p>This big bundle can also be found at: <a href="https://gumroad.com/l/prereactscreens">https://gumroad.com/l/prereactscreens</a></p><h3>Mission</h3><p>Our mission is to create high quality screens for any project. Along with this, we want to spend time educating the community to build better component api’s that are not limited as many are. This involves blogging once a month on how to create the screens we build. Our first post on our card swiper will come out later this month. This is public proof of our code quality along with helping more people create better screens. By purchasing our screens you are funding us to write guides on building top notch components and designs.</p><p>Each screen has zero dependencies other than react-native. Some, however, will want you to include react-native-vector-icons. You may always include the non-icon version if you wish.</p><h3>Who are we?</h3><p>We are Dominic Gozza and Zach Silveira. You can find us on Twitter @zachcodes and @dom_gozza. We have been using React Native since its inception and love the ecosystem. Along with our React Native expertise, we have brought in a few designers to help us create the most beautiful UI’s possible. With that being said, none of us are experts. Nobody truly is. It is our hope that by writing tutorials and sharing as much as we can, the ecosystem and our components will improve together over time.</p><p>I feel like the best part about creating this new product is that it will drive me to create more content and better content ultimately making me a better developer all around. While being able to assist and contribute to the ever growing React Native developers.</p><p><strong>Feel free to drop us a comment below for future screens that you would like to see!</strong></p><p>Give us a follow for more updates on <strong>twitter</strong>!!</p><p><a href="https://medium.com/u/b0da70b327e4">Zach Silveira </a>(@zachcodes)</p><p><a href="https://medium.com/u/25770077d0a2">Dominic Gozza </a>(@dom_gozza)</p><p><a href="https://medium.com/u/2181e5456af8">React Screens </a>(@reactscreens)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b57acb578724" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why React Native communities made me the developer I am today]]></title>
            <link>https://medium.com/@Dom_Gozza/why-react-native-communities-made-me-the-developer-i-am-today-474eb742f603?source=rss-25770077d0a2------2</link>
            <guid isPermaLink="false">https://medium.com/p/474eb742f603</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[discord]]></category>
            <category><![CDATA[community]]></category>
            <category><![CDATA[react-native]]></category>
            <dc:creator><![CDATA[Dominic Gozza]]></dc:creator>
            <pubDate>Wed, 12 Apr 2017 23:09:52 GMT</pubDate>
            <atom:updated>2017-04-12T23:13:16.376Z</atom:updated>
            <content:encoded><![CDATA[<h4>It wasn’t long before I completely fell in love with developing mobile apps. But why?</h4><p>It was really the strong communities built around development and especially built around React and React Native. That made me fall in love.</p><p>I was really into business and pushing mobile apps. I really never pictured myself being a developer. But there is just this amazing feeling about creating something from nothing. Creating a layout using flex-box, or creating animations, navigation, having all this communicate with a server. <strong>It was just so damn fascinating I couldn’t overlook it for a second.</strong></p><h3>It just makes sense looking back on why I continued on with development</h3><p>Sure I wanted to own a business that pushed out amazing mobile apps. But I had no idea of the process, the tech stacks, the hard work. I literally knew <strong>nothing</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mf-p9sqYLWmxnO6itqJofw.png" /><figcaption><a href="https://slack.exponentjs.com/">https://slack.exponentjs.com/</a></figcaption></figure><p>Being a part of a community really drives me to work hard, produce the best work and the cleanest code possible and not settling for anything less.</p><p>In all honesty being part of the Expo community taught me more then a 25 minute tutorial on how to create a ToDo app from Youtube.</p><p>Although I didn’t realize it at first but my memory bank was growing ‘expo’nentially(silly pun insert) ever since I joined a community of developers. There is something to be said about developers and the way their mind works, you really have to have a knack for it.(Not discouraging any future dev’s, I never had the mind for it until I tried)</p><h3>I found it most amazing to be part of a community that was literally pumping out some of the best content I have ever seen</h3><p>It is crazy but most of the people I interact with on a daily basis are either working on some kick-ass app that is soon to sky rocket on the app store or improve their skill set by ten folds. Or they are working on an even more kick-ass open source project that improves the improves the community.</p><p>If it wasn’t for the communities on Expo I wouldn’t be here today. I learned equally as much code by just communicating and chiming in on other peoples chats as physically doing it myself.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gykPlQPFNNz2e6u24CVaIQ.png" /><figcaption><a href="https://discord.gg/RTaGCTc">https://discord.gg/RTaGCTc</a></figcaption></figure><blockquote>I do want to throw in a quick plug: A new community that was creating called “Programming pals” was launched by a friend of mine “William Palacio” on the discord server. It’s really great, it is a mix of experienced, intermediate and novice programmers all extremely interested in moving from whatever languages they primarily used before over to React and React Native! Here is the link! (group projects and more!) <a href="https://discord.gg/RTaGCTc">https://discord.gg/RTaGCTc</a></blockquote><h3>It’s really fun to interact with people that are experts at what they do. Some of the best of the best.</h3><blockquote>I never had a mentor when it came to developing, I never watched a guide on RN longer then 10 minutes.</blockquote><p>I kind of just did it.</p><p>I know that really doesn’t make any sense going from literally not knowing any code at all to just “doing it”. Somehow it has worked out.</p><p>The best way I can relate this to is when I was young and I learned to surf. Normally you start out on a longer board probably 7–10ft in length until you get the hang of it. Well instead of being normal and crawling before I walk. I jumped right into surfing with a 5&#39;11 board. Took me a few extra months then everyone else. But hey, two great things came from it. 1) I learned and I had a very unique style. 2) I learned to work hard and to not give up.</p><h3>This really applies to anything but get out there find a community, get involved and you’ll find your niche.</h3><iframe src="https://cdn.embedly.com/widgets/media.html?url=https%3A%2F%2Fpowered.by.rabbut.com%2Fp%2F1GxL%3Fc%3D0&amp;src=https%3A%2F%2Fpowered.by.rabbut.com%2Fp%2F1GxL%3Fc%3D0&amp;type=text%2Fhtml&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;schema=rabbut" width="500" height="500" frameborder="0" scrolling="no"><a href="https://medium.com/media/f5f7d2acac503fdc9f7790fb3fcef67d/href">https://medium.com/media/f5f7d2acac503fdc9f7790fb3fcef67d/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=474eb742f603" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Where I began learning React Native]]></title>
            <link>https://medium.com/@Dom_Gozza/where-i-began-learning-react-native-442255ecc711?source=rss-25770077d0a2------2</link>
            <guid isPermaLink="false">https://medium.com/p/442255ecc711</guid>
            <category><![CDATA[expo]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[learning-to-code]]></category>
            <dc:creator><![CDATA[Dominic Gozza]]></dc:creator>
            <pubDate>Wed, 12 Apr 2017 15:39:07 GMT</pubDate>
            <atom:updated>2017-04-12T15:48:47.649Z</atom:updated>
            <content:encoded><![CDATA[<p>I have always had these stellar app ideas just no inclination to accomplish or invest in these ideas. Maybe it was I didn’t fully believe in my ideas or I was just plain lazy.</p><p>Whatever the cause was I am glad I still kept theorizing new ideas and writing them down. Because if I didn’t I wouldn’t be here today, writing my first blog post on Medium, about a foreign language to most of us.</p><p>You see my brother whom I look up to in the technology world is a wizard when it comes to knowing literally everything that crosses his path. So knowing this I thought that heck if I come up with the best idea in the world for an app he would just create it!</p><p><strong>Clearly that wasn’t the case. :(</strong></p><p>That is when I quickly realized if I want to bring my own projects to life I can’t depend on others to do all the heavy lifting while I just sit in a leather office chair and think.</p><p>So here I am roughly 5 months ago, no clue where to begin. I started with the Android SDK, didn’t like it. I moved on to Xcode, didn’t like it. Then I sat there and I thought to myself, well I do not like and understand the two platforms I need to use to actually complete all my ideas. I thought that was it for me.</p><p>One day I went to my brother when he wasn’t busy and I said: Look you just finished an app, it is on the app store and it looks great! Now build this app with me, or at least get me started. Honestly, it took some convincing cause he seemed to always be busy. But I managed to trap him for roughly 1–2 hours. In this time he showed me some of the most incredible development tools.</p><p>First he showed me, <a href="https://github.com/facebookincubator/create-react-app">https://github.com/facebookincubator/create-react-app</a> which immediately blew my mind. He taught me how to create import, and modify my first react app. Being able to see him load up an app, and have it ready to modify within 10 minutes or less <strong>blew my freaking mind. </strong>I knew right then and there, this is what I need to do. (It was just so damn simple) <strong>React Native was the move. (seriously it still is)</strong></p><p><strong>(A very good listen! The end gets interesting!) </strong><a href="https://softwareengineeringdaily.com/2017/04/11/the-future-of-react-native-with-brent-vatne-and-adam-perry/"><strong>https://softwareengineeringdaily.com/2017/04/11/the-future-of-react-native-with-brent-vatne-and-adam-perry/</strong></a></p><p>I started off replicating the same simple component about 20 times. Until I understood everything that was going on that page. Until I understood why you import the Components, how you import them and how they are used.</p><h3>After that I knew if I really wanted to learn I would have to create something I have a passion for.</h3><p>So I knew components, how to import them. Now what? How the heck do I go from this to a full blown app?!</p><p>That is where my brother sent me this <strong>amazing</strong> IDE, that I can not get enough of: <a href="https://expo.io/">https://expo.io/</a></p><p>When I saw this I said to myself, “Okay Dom, this is your shot to really create something you’ve always dreamed about”. After combing through the docs I quickly realized that this is the best path for me.</p><p>After relentlessly bugging the fine developers of <a href="https://slack.exponentjs.com/">https://slack.exponentjs.com/</a> I quickly learned how to use expo, how to tap into their amazing library of SDK API’s and their sweet guides. Use their amazing navigation component. And now I had a working and functioning app, with a pretty crappy UI :(</p><p>So I found myself asking a bagillion questions about flex-box and quickly learned it can’t necessarily be explained you just have to mess with it. That is when <a href="http://flexboxfroggy.com/">http://flexboxfroggy.com/</a> came in handy. Taught me all the basics and what I needed to know!</p><p>I figured If I really wanted to create something I cant keep just messing around creating screens that don’t really function and that I don’t really care for.</p><p>That is when I said to myself its time to take one of those wild ideas from my journal of ideas and actually try and build it. Took me about one month to make a perfect cross platform UI! I was beyond stoked. I thought I was a dev. Ha.. That’s when I decided it was time to learn redux, firebase, setState and a whole bunch of other stuff. Which I am still learning till this day. redux and setState are some sort of magic though.. I’ll never fully understand.</p><p><a href="http://cloneable.io/"><strong><em>http://cloneable.io/</em></strong></a><strong><em> The free course here on creating a weather app helped me a lot with state!</em></strong></p><p>So I guess the moral of the story is get an idea that you truly believe in. Because having an idea or a goal that you want more than anything to come alive means you’ll stop at nothing to get it done. Then just jump into it, all you need is a small nudge in the right direction.</p><p>I had no idea where I wanted to go honestly, I had no idea of coding, how it worked, what languages are used for what, and how they interact together. I just dived right into it. Granted I am still learning, and granted my personal stack only consist of, React Native, Firebase, Redux, Javascript, Git. I should have my first app Clone on the app store in just a few short weeks!</p><p>So that’s how and why I went from not knowing anything about mobile development to knowing a lot more then I could imagine in just 5 short months.</p><p>Keep on keeping on!</p><p>Here is a project I recently started to create, it is an updated version of one of my old, very poorly coded app ideas.</p><p><a href="https://github.com/Domthegrom/Teachon">https://github.com/Domthegrom/Teachon</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=442255ecc711" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>