<?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: Nickolay Stepanov (Nick)</title>
    <description>The latest articles on Forem by Nickolay Stepanov (Nick) (@nickorsk2017).</description>
    <link>https://forem.com/nickorsk2017</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%2F538362%2Fc681b999-5755-4a80-989b-3531e59fbfcd.jpeg</url>
      <title>Forem: Nickolay Stepanov (Nick)</title>
      <link>https://forem.com/nickorsk2017</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nickorsk2017"/>
    <language>en</language>
    <item>
      <title>Create React forms in a few minutes.</title>
      <dc:creator>Nickolay Stepanov (Nick)</dc:creator>
      <pubDate>Tue, 12 Apr 2022 04:22:00 +0000</pubDate>
      <link>https://forem.com/nickorsk2017/create-react-forms-in-a-few-minutes-1fgj</link>
      <guid>https://forem.com/nickorsk2017/create-react-forms-in-a-few-minutes-1fgj</guid>
      <description>&lt;p&gt;Hi everybody.&lt;br&gt;
We are using a new library for creating a form.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For creating your forms you need to make two simple steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define a scheme which describe validation and some properties of form data.&lt;/li&gt;
&lt;li&gt;Connect your scheme via methods to your UI components.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Scheme
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// scheme.js export default {
    valid: null,
    formValue: {
        first_name: "",
        last_name: "",
    },
    rules: {
        first_name: [
            ["empty", "please write your first name"]
        ],
        last_name: [
            ["empty", "please write your last name"]
        ]
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Form
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//MyForm.ts
import {useFormMod} from "formmod";

export const MyForm = () =&amp;gt; {
const {setValue, getValue, getError, validate} = useFormMod(
        FORM_SCHEME
 );

return (
&amp;lt;form onSubmit={handlerSubmit}&amp;gt;
…
      &amp;lt;MyTextInput
           label={"First name"}
           value={getValue("first_name")}
           error={getError("first_name")}
           onChange={(value: string) =&amp;gt; setValue("first_name", value)}
      /&amp;gt;
… 
&amp;lt;/form&amp;gt;
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full documentation :&lt;br&gt;
&lt;a href="https://doc.formmod.org/"&gt;https://doc.formmod.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**WE RECOMMEND TO USE LAPTOP OR DESKTOP DEVICE FOR READING &lt;br&gt;
DOCUMENTATION.&lt;/p&gt;

&lt;p&gt;Advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No dependencies.&lt;/strong&gt; This is the power of simple work.This form system don’t know about your components, JSX, your app, store…You can use it with any UI components. No longer need to make wrappers components, understanding JSX syntax.Just use it with anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy system, easy code.&lt;/strong&gt; It’s very simple.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Save time.&lt;/strong&gt; Just connect properties to your components.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;In addition to validation and simple things, the system supports optional, group fields in the form and much more. Just read documentation.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For support us, just set a star in our GitHub page (Thank forward).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/nickorsk2017/formMOD"&gt;https://github.com/nickorsk2017/formMOD&lt;/a&gt;&lt;br&gt;
What do you think about this system?&lt;br&gt;
Thank you!&lt;/p&gt;

</description>
      <category>react</category>
      <category>forms</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Why you need a new library for forms on React?</title>
      <dc:creator>Nickolay Stepanov (Nick)</dc:creator>
      <pubDate>Mon, 11 Apr 2022 14:36:39 +0000</pubDate>
      <link>https://forem.com/nickorsk2017/why-you-need-a-new-library-for-forms-on-react-2jh8</link>
      <guid>https://forem.com/nickorsk2017/why-you-need-a-new-library-for-forms-on-react-2jh8</guid>
      <description>&lt;p&gt;Hi all!&lt;br&gt;
At the moment there are many libraries for forms on React.&lt;br&gt;
After analysis, we found problems in most of them.&lt;br&gt;
I want to talk about it and suggest our solution.&lt;/p&gt;
&lt;h2&gt;
  
  
  Problem: You need to use a specific syntax in your JSX.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Example 1&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Formik, Field, Form, ErrorMessage } from 'formik';

&amp;lt;Formik&amp;gt;
    &amp;lt;Form&amp;gt;
        &amp;lt;label htmlFor="firstName"&amp;gt;First Name&amp;lt;/label&amp;gt;
        &amp;lt;Field name="firstName" type="text" /&amp;gt;
        &amp;lt;ErrorMessage name="firstName" /&amp;gt;
   &amp;lt;/Form&amp;gt;
&amp;lt;/Formik&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Form, Field } from ‘react-final-form’;
&amp;lt;Form&amp;gt;
    &amp;lt;Field name="bio"render={({ input, meta }) =&amp;gt; (
        &amp;lt;div&amp;gt;
          &amp;lt;label&amp;gt;Bio&amp;lt;/label&amp;gt;
         &amp;lt;textarea {...input} /&amp;gt;
    {meta.touched &amp;amp;&amp;amp; meta.error &amp;amp;&amp;amp; &amp;lt;span&amp;gt;{meta.error}&amp;lt;/span&amp;gt;}
        &amp;lt;/div&amp;gt;
        )}
    /&amp;gt;
&amp;lt;/Form&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What issue??&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If you currently have a project you need to redoing all your UI components to specific syntax.&lt;/li&gt;
&lt;li&gt;Until today a developers have millions UI libraries.
Why can't you just install it and use it?
You must make a wrapper components, adapt logic to use library.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We calculated time for redoing a large app.&lt;br&gt;
It need about from few months  to fixing bugs, changing syntax…&lt;br&gt;
For a business it crazy huge.&lt;/p&gt;
&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;When you need to think about a form library at first moment?&lt;br&gt;
Yes, when you need a validations.&lt;br&gt;
A form library only must know about data.&lt;br&gt;
For example, that a data row is valid or not.&lt;br&gt;
**- Not about your app structure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not about JSX or UI components inside.&lt;/li&gt;
&lt;li&gt;Not about UI logic.
A form system must be abstract. It's like a smart useState().**&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You should make your app easy, just connect your components to data.&lt;/p&gt;
&lt;h2&gt;
  
  
  How it can look.
&lt;/h2&gt;

&lt;p&gt;After long analyse we decided to make our library.&lt;br&gt;
&lt;strong&gt;For creating your forms you need  two simple steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define a scheme which describes validation and some properties of form data.&lt;/li&gt;
&lt;li&gt;Connect your scheme via methods to your UI components.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Scheme&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// scheme.ts
export default {
 valid: null,
 formValue: {
    first_name: "",
    last_name: "",
 },
 rules: {
    full_name: [
        ["empty", "please enter your full name"]
    ],
    email: [
        ["empty", "please enter your email"],
        ["email", "is not email"],
    ]
 }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Form&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//MyForm.ts
import {useFormMod} from "formmod";

export const MyForm = () =&amp;gt; {
const {setValue, getValue, getError, validate} = useFormMod(
    FORM_SCHEME
);
return (
&amp;lt;form onSubmit={handlerSubmit}&amp;gt;
    …
    &amp;lt;MyTextInput
        label={"Full name"}
        value={getValue("full_name")}
        error={getError("full_name")}
        onChange={(value: string) =&amp;gt; setValue("full_name", value)}
    /&amp;gt;
    …
&amp;lt;/form&amp;gt;
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Full documentation :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://doc.formmod.org/"&gt;https://doc.formmod.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**WE RECOMMEND TO USE LAPTOP OR DESKTOP DEVICE FOR READING DOCUMENTATION.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No dependencies. This is the power of simple work.This form system don’t know about your components, JSX, your app, store…You can use it with any UI components.  No longer need to make wrappers components, understanding JSX syntax.Just use it with anything.&lt;/li&gt;
&lt;li&gt;Easy system, easy code. It’s very simple.&lt;/li&gt;
&lt;li&gt;Save time. Just connect properties to your components.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Important
&lt;/h2&gt;

&lt;p&gt;We have finished our library recently.&lt;br&gt;
Until today we have &lt;strong&gt;151 commits&lt;/strong&gt;, &lt;strong&gt;14 releases&lt;/strong&gt; in our repository and this is just the beginning of the work.&lt;/p&gt;

&lt;p&gt;We started work with community, fixing documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We need your support, just set a star in gitHub here:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/nickorsk2017/formMOD"&gt;gitHub page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Also our library can work with optional, group, composite components.&lt;br&gt;
It has described work with CRUD, store (about mutable data) and more.&lt;/p&gt;

&lt;p&gt;It is absolutely free (MIT).&lt;/p&gt;

&lt;p&gt;We are working for world community.&lt;br&gt;
We want to make development easer for everybody.&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
      <category>react</category>
      <category>form</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>React. New library for react forms.</title>
      <dc:creator>Nickolay Stepanov (Nick)</dc:creator>
      <pubDate>Tue, 22 Mar 2022 09:20:13 +0000</pubDate>
      <link>https://forem.com/nickorsk2017/react-new-library-for-react-forms-2od0</link>
      <guid>https://forem.com/nickorsk2017/react-new-library-for-react-forms-2od0</guid>
      <description>&lt;p&gt;Good day, my name is Nikolay! I am one of the developers of the new library for react forms.&lt;/p&gt;

&lt;p&gt;How much time do you spend to creating react form from project to project?&lt;/p&gt;

&lt;p&gt;This question is relevant for many React developers.&lt;/p&gt;

&lt;p&gt;The formMOD library was created to reduce the development time, as well as for universe and flexibility.&lt;/p&gt;

&lt;p&gt;You can create a great web applications!&lt;/p&gt;

&lt;p&gt;This is absolutely free library (MIT license).&lt;/p&gt;

&lt;p&gt;At the time of this writing, this is a completely finished project, with documentation and the system is already being used in web applications.&lt;/p&gt;

&lt;p&gt;I will try to describe all the features of the library as briefly as possible.All examples and the detailed description are in the documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;THIS IS SHORTLY SUMMARY OF ALL FEATURES OF LIBRARY.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WE RECOMMEND TO USE LAPTOP OR PC FOR DOCUMENTATION.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Full documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;http://doc.formmod.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source code in github:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://github.com/nickorsk2017/formMOD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the moment, this project at the stage of community development. That mean, the library is finished and now people need to know about it.&lt;/p&gt;

&lt;p&gt;PLEASE set a GitHub stars:&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://github.com/nickorsk2017/formMOD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s go!&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, let's look at an example of a form that is made using the library.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/example&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What using there:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple validation rules of form fields.&lt;/li&gt;
&lt;li&gt;Optional fields&lt;/li&gt;
&lt;li&gt;Group fields (hobbies)&lt;/li&gt;
&lt;li&gt;View mode and create mode of form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Form scheme. All data and form settings are stored in the schema, which is also a state.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Abstract data model. This means that the library knows nothing about your system, inputs, store, business logic. This gives you maximum flexibility and coverage as it doesn't create unnecessary dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The following rules are available out of the box:&lt;br&gt;
empty, email, max, min.&lt;/p&gt;

&lt;p&gt;And you can also write your rules (custom rule).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See documentation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;br&gt;
&lt;strong&gt;UI logic&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Basic inputs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Flow for creating simple components.These are text fields, buttons, and other.&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/basic/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Optional inputs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are UI components of the form that depend on the values of other fields form.&lt;/p&gt;

&lt;p&gt;For example, if you put a checkbox, then another field will appear.&lt;/p&gt;

&lt;p&gt;To do this, use the visibilities hook in form schema.&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://nickorsk2017.github.io/formMOD/#/optional/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Group inputs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can add and remove form fields on the fly.That is, it is a list of form fields with values.&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/group/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Combined inputs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are composite components consisting another UI components inside. Since the formMOD system is abstract, you can use it not only in a form, but also inside UI components.&lt;/p&gt;

&lt;p&gt;Documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/combined/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CRUD&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The system allows you to use one form component for viewing, editing or creating data.&lt;br&gt;
This saves time and reduces bugs because you have one component for everything.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/editmode/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;View mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/viewmode/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gallery UI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a set of ready-made UI components, they can be downloaded and modified.The new components will be added later.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Textinput&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-textinput/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Textarea&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-textarea/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Checkbox&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-checkbox/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fileinput&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-fileinput/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SearchInput&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-searchInput/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Button&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/gallery-button/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommendations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the documentation you can learn how to work with data, store and other things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Data converters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/recommendations/converters/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Work with store&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/recommendations/stores/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Helpers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FormMOD uses utilities internally.These utilities may be useful for your work as well.This eliminates unnecessary dependencies and makes the job easier.&lt;/p&gt;

&lt;p&gt;Look here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://doc.formmod.org/#/helpers/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart inputs (experiment)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the experimental plan, it is possible to create UI components through a special reference object.&lt;/p&gt;

&lt;p&gt;This reduces the size of the code and makes working with UI inputs more convenient.&lt;/p&gt;

&lt;p&gt;=================================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What next?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All examples and code are described in the documentation, I will not duplicate it so as not to make the article too voluminous.&lt;/p&gt;

&lt;p&gt;We really need your support, set a star on github here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.toLink"&gt;https://github.com/nickorsk2017/formMOD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have a peace and good luck!&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>form</category>
    </item>
    <item>
      <title>6 levels of product code growing (frontend)</title>
      <dc:creator>Nickolay Stepanov (Nick)</dc:creator>
      <pubDate>Fri, 11 Dec 2020 10:37:30 +0000</pubDate>
      <link>https://forem.com/nickorsk2017/6-levels-of-product-code-growing-frontend-58pa</link>
      <guid>https://forem.com/nickorsk2017/6-levels-of-product-code-growing-frontend-58pa</guid>
      <description>&lt;p&gt;Hello friends! My name is Nick Stepanov.&lt;/p&gt;

&lt;p&gt;This is my first post here.&lt;/p&gt;

&lt;p&gt;I work many years as a Front-end developer and took part in different projects - from small startups to large companies.&lt;/p&gt;

&lt;p&gt;The problems start on the stage of planning. Many companies (especially startups) don't know how to write code fast and with high quality. On bellow is a detailed diagram.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DOumOGsz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ptkae08gukpo3agn65cv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DOumOGsz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ptkae08gukpo3agn65cv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think you can understand everything, but I explain it.&lt;/p&gt;

&lt;p&gt;Here 6 level’s model of quality for frontend development.&lt;/p&gt;

&lt;p&gt;Each level extend previous, for example level 3 contains level 2 and level 1.&lt;/p&gt;

&lt;p&gt;You see that quality of code proportional to Budget / Time resources. Certainly everything need a resources.&lt;/p&gt;

&lt;p&gt;In left side you can see gradation of stage project / size company:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Startup level of project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Usually a startups have a less resources. First need to do MVP. Here speed more important than architecture. My recommendation do a strategy for improving code after MVP and do next step of growing your company. I think for a startups need minimum level 2 of quality code. Just do a good UI library for your project and do MVP fast, test your idea. After it you can fix business issue’s and redid logic's and go to next stage of company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Middle company level of project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this stage a companies have investment and can be have customers and small income. But resources still limited. A company can do refactoring and improve architecture. Accessible to grow to level 4 quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Large company /or big budget level of project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this time growing a company can hire many developers with high experience, for building everything tested and documented code. And a Goal here is do open source projects - it is “head of mountain”. If company doing open source projects it is mean that this company not only doing something for self, company doing for everybody - company can impact to world of IT. This is level 6 of coding.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Certainly, a startup could get big investment and build 6 levelled quality code from zero.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you for reading. I will glad if my idea helping to your project. Please write your idea's :-)&lt;/p&gt;

&lt;p&gt;Nick Stepanov.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
