How get field type in field layout
You can use the instance of test (docs) 

{% if field is instance of ('craft\\fields\\PlainText') %}


or use className (docs).

{% if field.className == 'craft\\fields\\PlainText' %}


In full:

{% for tab in entry.fieldLayout.tabs %}
    &lt;div class="form__row"&gt;
        &lt;h3&gt;{{ tab.name }}&lt;/h3&gt;
    &lt;/div&gt;
    {% for field in tab.getFields() %}
        &lt;div class="form__row"&gt;
            {% if field is instance of ('craft\\fields\\PlainText') %}
                &lt;label for="etg"&gt;{{ field.name }}&lt;/label&gt;
                &lt;input type="text" name="fields[{{ field.handle }}]" value="{{ attribute(entry, field.handle)}}"&gt;
            {% endif %}
        &lt;/div&gt;
    {% endfor %}
{% endfor %}


You can see all native Craft field types here.