<?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 Dohnny on Medium]]></title>
        <description><![CDATA[Stories by Dohnny on Medium]]></description>
        <link>https://medium.com/@imdohnny?source=rss-fa257413bb53------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*yX5vO4jMXzROeZHMb8bPqg.png</url>
            <title>Stories by Dohnny on Medium</title>
            <link>https://medium.com/@imdohnny?source=rss-fa257413bb53------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 24 May 2026 02:29:33 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@imdohnny/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[Dohnny — An agile online IDE to maintain react components.]]></title>
            <link>https://medium.com/@imdohnny/dohnny-an-agile-online-ide-to-maintain-react-components-fe8c86a0fc8a?source=rss-fa257413bb53------2</link>
            <guid isPermaLink="false">https://medium.com/p/fe8c86a0fc8a</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[developer-tools]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[components]]></category>
            <category><![CDATA[react]]></category>
            <dc:creator><![CDATA[Dohnny]]></dc:creator>
            <pubDate>Wed, 15 May 2019 14:00:12 GMT</pubDate>
            <atom:updated>2019-05-15T14:00:12.109Z</atom:updated>
            <content:encoded><![CDATA[<h3>Dohnny — An agile online IDE to maintain react components.</h3><p>React, Agular, Vue and the boom 💥of Javascript libraries stared a new era in the development of web apps, we have been building great and new kind of products since then, but we are facing a weird complexity paradox because all the advances and tools in the industry that are supposed to make easier our life as developers are creating other problems that are making our life a bit more complex.</p><p>Part of the complexity in the modern development comes from maintaining apps with hundreds or thousands of components, managing states, dealing with the reactivity of the async world and the modern UI standards 👨🏽‍🎨, all that is new stuff for all of us, and there are no patterns or guides to follow at the moment of starting a modern web project, when we became aware of that at Dohnny we decided that in order to keep progressing as software engineers we must need to fix that.</p><h3>Components and maintainability. 👀</h3><p>We spend 80% of our time reading the code 👩🏽‍💻 of our past selves and other people if a project is not clear and decently structured the cost of maintainability increases.</p><p>In order to fix that we must pay attention and create tools 🔧to avoid the following common problems:</p><ul><li>Bad quality code that produces bugs, tech debt and nightmares with legacy code.</li><li>The structure between folders and files when you have big projects with nested components.</li><li>Modules or libraries that require a lot of setups and learning curve to be implemented.</li><li>Slow and Inefficient communication and debugging methods to see what a segment of code does.</li><li>Having huge libraries and modules when you only need a small segment of a library.</li></ul><p>Those are some of many variables that add complexity to the cost of maintaining your projects and components. 💣 💣 💣</p><p>To keep innovating, solving problems and creating great products we need to optimize the way we are maintaining and building our projects.</p><p><strong>Components manifesto:</strong></p><ul><li>Everything is a component (UI/Logic/API’s).</li><li>Components have types/context.</li><li>Components should behave like independent apps, avoid import other components.</li><li>Beautiful UI.</li><li>Document your code, add videos, images, text, and instructions.</li><li>Use state managers and connectors to wire your app or component.</li></ul><p>Note: In a upcoming post we are going to talk about the manifesto with more details.</p><h3><strong>Introducing Dohnny components</strong></h3><p>In order to use the manifesto in its maximal potential and improve the process of maintaining components, we created an online development environment where you can share, maintain and reuse your components.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1w8rnyz8Fb1_1Ihk4bcBzg.png" /><figcaption>Dohnny — Components list</figcaption></figure><p>Dohnny component helps you to have a cleaner and organized code using the tools you know (We only support React for now).</p><p>The main values of the platform are:</p><ul><li>More structure between files, components and states.👷🏽</li><li>Ready to go templates and components created by the community. 🌎</li><li>Tools to Write human-readable code.👨🏻‍💻</li><li>Features to always create awesome UI. 👩‍🎨</li></ul><p>Let’s take a look in the follow small example to see what Dohnny does with the code:</p><ul><li>Regular code:</li></ul><pre>//index.js (file)</pre><pre>import React,{useState} from &quot;react&quot;<br></pre><pre>const Button = ({data})=&gt;{</pre><pre>return &lt;h1&gt;Hello, Bro.&lt;/h1&gt;<br>}</pre><ul><li>Dohnny refactored code:</li></ul><pre>//Button (Dohnny component - type view)</pre><pre>const {data} = props;<br>return (&lt;h1&gt;Hello, Bro.<strong> </strong>&lt;/h1&gt;);</pre><p><strong>What is going on right here?</strong></p><p>Here is where we can see the magic of Dohnny, this possible thanks to having component types, Import manager and component nesting witch are the features that allow us to keep our code clean.</p><h4><strong>Component Types:</strong></h4><p>Component types are files that allow us to identify our code by a context and automate somethings to reduce the amount of code you need to write.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/943/1*vyru6DMe7BkRTVmXD2d_zQ.png" /></figure><p><strong>UI types:</strong></p><p>When we need to create anything related with UI we use this kind of components:</p><ul><li><strong>Views:</strong> UI components that represent the Full layout/window of an app.</li><li><strong>Molecules: </strong>Small UI component like cards, toolbars, sidebar, buttons, etc.</li></ul><p>A View can be made using a set Molecules and other files, this type of components uses a functional component as wrapper by default and all the imports occur in the right bar where you can find the imports and nested components.</p><p><strong>Logic and data types:</strong></p><p>This type of components could represent regular files, data managers and functions, this components may differ in the way to return or export it’s data but that will help us to reuse our components in other projects and to enable features to interact with other components and types.</p><ul><li><strong>General:</strong> Regular JS file.</li><li><strong>Hooks: </strong>React Hooks.</li><li><strong>HOC:</strong> React High Order Components.</li><li><strong>Providers:</strong> React Context Providers.</li></ul><p><strong>Component Nesting:</strong></p><p>Following the principle of the manifesto “Components should behave like independent apps, avoid import other components” all the top level components have independent components inside, isolated from the rest of the project, so their are only accessible from the component.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/969/1*z372TYjwPR5jH029n2NhRw.png" /></figure><p>You can add or manage you nested components using the right bar.</p><p><strong>Imports manager:</strong></p><p>Import the dependencies and packages you need and Dohnny do all the npm duty for you, this also help you to maintain the code cleaner and have more control over the things you are importing to your components.</p><h3>Let’s see a real example:</h3><h4>Example of a Component in a Regular editor:</h4><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodesandbox.io%2Fembed%2Fxz93932lno%3Ffontsize%3D14&amp;url=https%3A%2F%2Fcodesandbox.io%2Fs%2Fxz93932lno%3Ffontsize%3D14&amp;image=https%3A%2F%2Fcodesandbox.io%2Fapi%2Fv1%2Fsandboxes%2Fxz93932lno%2Fscreenshot.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codesandbox" width="1000" height="500" frameborder="0" scrolling="no"><a href="https://medium.com/media/803ebd055a93221e2b9b859101711d29/href">https://medium.com/media/803ebd055a93221e2b9b859101711d29/href</a></iframe><h4>Example of a component using Dohnny:</h4><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodesandbox.io%2Fembed%2Fm495zn899x%3Fcodemirror%3D1%26fontsize%3D14%26hidenavigation%3D1%26moduleview%3D1%26view%3Dpreview&amp;url=https%3A%2F%2Fcodesandbox.io%2Fs%2Fm495zn899x%3Fcodemirror%3D1%26fontsize%3D14%26hidenavigation%3D1%26moduleview%3D1%26view%3Dpreview&amp;image=https%3A%2F%2Fcodesandbox.io%2Fapi%2Fv1%2Fsandboxes%2Fm495zn899x%2Fscreenshot.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codesandbox" width="1000" height="500" frameborder="0" scrolling="no"><a href="https://medium.com/media/5312d30981306c0b39ed223a29da42d1/href">https://medium.com/media/5312d30981306c0b39ed223a29da42d1/href</a></iframe><p><strong>Templates and Bookmarks.</strong></p><p>When you are going to create a new component you can use some of templates we have created for you, but you can also bookmark components from your projects or the public projects in the community.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/896/1*j3xxp0tSbqImq1kIZDQCvw.png" /></figure><p><strong>Download your component</strong></p><p>You can download your components with a single click in the download component button, you will get a create-react-app project ready to go, just run:</p><pre><strong>npm </strong>install //To install all the packages of the component<br><strong>npm </strong>start //To start your component</pre><p>Note: When you download your component Dohnny creates a normalized file, so your file is going to look like a regular react component file, without any weird change or code.</p><p><strong>Advantages of using Dohnny:</strong></p><ul><li>Component isolation.</li><li>Your code is maintainable and documented.</li><li>Every component is easy to reuse or refactor.</li><li>No special libraries, framework or patterns to create your components.</li><li>Work with less code, you don’t need to declare imports or nested components.</li><li>Typed components, every file behaves differently and has an opinionated way to return and export it’s data.</li><li>Don’t need to install or setup anything.</li><li>Pixel perfect tools.</li><li>improve communication with your team.</li></ul><p><strong>Disadvantages:</strong></p><ul><li>Only in the web (for now 😏)</li></ul><p>Once we reach a decent version of the compiler we plan to add more libraries and frameworks like Angular, Vue and also add server support with Next, Express and other <strong>component types.</strong></p><p><strong>Roadmap:</strong></p><ul><li>Git/GitHub integration.</li><li>Dohnny CLI. (Developers can integrate components to their project from Dohnny using the terminal).</li><li>Monaco editor.</li><li>Custom debugger and error handler.</li><li>Self-hosting.</li><li>Server components.</li><li>Other frameworks.</li><li>Web assembly.</li></ul><p>If you want to be part of our journey, you can sign up and join our <a href="https://discord.gg/CxqcPZX">Discord</a> server to keep all the updates and receive your early access as soon as possible. <a href="https://www.dohnny.com/">Sign up for Early Access</a>, or check out our the latest <a href="http://bit.ly/dohnnydemo">Demo.</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fe8c86a0fc8a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Dohnny]]></title>
            <link>https://medium.com/@imdohnny/announcing-dohnny-3c22bc36a8a9?source=rss-fa257413bb53------2</link>
            <guid isPermaLink="false">https://medium.com/p/3c22bc36a8a9</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[developer-tools]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Dohnny]]></dc:creator>
            <pubDate>Fri, 19 Oct 2018 06:01:18 GMT</pubDate>
            <atom:updated>2018-12-04T18:19:04.852Z</atom:updated>
            <content:encoded><![CDATA[<h4>Getting Atomic control over your software project.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fBckLvnJr4svXgJzLkoGmw.png" /><figcaption><a href="http://www.dohnny.com">Visit dohnny.com</a></figcaption></figure><h3>Who solve the problem of the developers?🤔</h3><p>As software developers, our job tends to be very stressful. At its core, our job is to build and solve problems with software and do it quickly, dealing with a lot of complexity, repetitive tasks, and nonhuman communication, we tend to ignore that those things are taking over our time and energy to do the real job of developers which is solve problems.</p><p>The current process of development requires to do things like set the environment up, organize a bunch of files and folders, read hundreds of libraries and old code, write repetitive code, go from mockups to functional prototypes and implement new things over and over again until you get the result you want or something close to it. There is also an explosion of tooling in the existing developer ecosystem so we have to learn more things, we’re also seeing a fundamental shift in the programming models and possibilities available to us, but the complexity of what we have to do and learn becomes higher.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/1*qLhmnZIdrXPLWKGJBJ0aZA.png" /></figure><p>Do you remember the computers from the 60&#39;s? huge machines, right? with prolonged learning curves to use it, lots of wires, connections, and really complex logic.</p><p>Software development is coming like computers in the 60’s, just take a look in the picture of above.</p><h3>There is more than just complexity</h3><p>We are forced to finish our job within a limited amount of time, solving complex tasks. Is very common to be overloaded for all the things we have to do in a limited time so we have to work day and night, losing our life-work balance.</p><p>Most of the time we have to sacrifice the quality of our code to have something functional quickly, that lead us to have no chance to understand or edit the code in the future, we end up doing everything from scratch again unless you have a decent documentation, yes, documentation written or not, you are going to feel pain anyway, as a tip is better to have it.</p><p>Not everywhere in the development industry are things increasing in complexity. It’s never been easier to put together a backend or database API. You can use Firebase and have a powerful database just using its API. The tooling and automation are becoming more sophisticated every day, and as a result, many tasks are simpler than ever before.</p><h3>Creating the software’s integrated circuit</h3><p>After working for several apps and sharing experiences with other developers, we realize that software development is not just about writing code, the code is a tool that helps us to give instructions to the computer in order to solve problems, but now solve problems using code is becoming more complex, we have a bunch of new libraries, frameworks, prototyping tools, but any of those are enough to solve problems with less stress.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Xd6wuks0lHCHg_jh_Wi65g.jpeg" /><figcaption>Integrated circuit</figcaption></figure><p>We need to improve the way we write code with tools to take away all the mental overload we have when we are building apps, that’s why we start to work in the software´s integrated circuit and we call it Dohnny, a development tool that changes the way to think and visualize your app, so you can invest your time as an architect, putting all your attention on creating incredible solutions instead of all time consuming and repetitive tasks of development.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LWcPr980Rj7OUC5M5mxATQ.png" /><figcaption>Start faster with organized files.</figcaption></figure><p>Dohnny changes the traditional programming paradigm, we are working to let you access your components from everywhere directly in the cloud in that way your development and production environment becomes one, so you don’t need to spend more time setting up environments or installing a lot of libraries, with Dohnny all pieces you need to create your apps are in one place and ready to go.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6bwVanTPzu91X-FntlBgPw.png" /><figcaption>All your project in one place.</figcaption></figure><p>We also are working to teach computers how to create apps by themselves or at least take care of all the time-consuming tasks, we know that AI is the natural evolution of computers, for example, now instead of creating algorithms we just need to train a neural network with data or rules, in most of the cases that will save us a lot of time and headaches.</p><p>Nowadays there are applications that transpile mockups in code, really soon an AI writing code is going to be a really common thing, but there are going to be serious problems if you don’t make the code more human readable, imagine to maintain, refactor or read the messy code of an AI, we haven’t solved that problem ourselves, most of the time we sacrifice the clean code and a decent structure to make our apps work as fast as possible.</p><p>To solve the problem of code we are integrating an old friend of the 80’s: literate programming which is the most efficient way to write human readable code, this will enable new ways to write beautiful and well-documented code, without spending time and crying for having an unreadable code that only your machine understands.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Pt1OouCue3K7ftggD-59jA@2x.png" /><figcaption>Smarter code and quick documentation.</figcaption></figure><p>The code is the input to tell the computer how to do things, but writing code is a really slow communication method, and that’s why we are looking new ways to make more efficient the computer-human communication, we think that with the current stage of technology we can create an AI that using natural language processing and visual recognition interface, and with that improve the way humans give instructions to a computer, we feel great to be part of the group of people that will make it possible.</p><p>We are creating Dohnny to build everything else…</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FLoaPwHrr1ASqc%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FLoaPwHrr1ASqc%2Fgiphy.gif&amp;image=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FLoaPwHrr1ASqc%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="234" frameborder="0" scrolling="no"><a href="https://medium.com/media/558c9a0f830b2e6882e0221e534d389f/href">https://medium.com/media/558c9a0f830b2e6882e0221e534d389f/href</a></iframe><h3>Sign up for Early Beta</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dOSLikinT_596zsZPQYapQ.png" /><figcaption><a href="http://www.dohnny.com">Visit dohnny.com</a></figcaption></figure><p>If you want to be part of our journey, you can sign up and join our <a href="https://discord.gg/CxqcPZX">Discord</a> server to keep all the updates and receive your early access as soon as possible. <a href="http://www.dohnny.com">Sign up for Early Beta</a>, and you will get access before we release to the public.</p><p>Peace ✌️</p><p>— Jensen Baronville, CEO, <a href="http://www.dohnny.com">Dohnny</a></p><p>We’re on <a href="https://www.producthunt.com/posts/dohnny">Product Hunt</a>🐱🚀</p><p><em>Bonus trap:</em></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FSHaqd9VBQ1U%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSHaqd9VBQ1U&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FSHaqd9VBQ1U%2Fhqdefault.jpg&amp;key=d04bfffea46d4aeda930ec88cc64b87c&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/eeb40d8b9ad068f7ad789f5c143e59f3/href">https://medium.com/media/eeb40d8b9ad068f7ad789f5c143e59f3/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3c22bc36a8a9" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>