ionic.io
Open in
urlscan Pro
2606:4700:10::6816:3ff3
Public Scan
Submitted URL: http://link.ionic.io/ls/click?upn=u001.CvykSbdfolW40ybCEZtXIw6E7wjTrgYCGXXvwUIaQh4v2-2FNSoys2-2FqMj8OayLl3GfUZtMm6gAm...
Effective URL: https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=...
Submission: On April 18 via manual from US — Scanned from DE
Effective URL: https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=...
Submission: On April 18 via manual from US — Scanned from DE
Form analysis
2 forms found in the DOMPOST https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/3776657/ac6e0c5e-f904-46ad-af46-882c49a46b42
<form id="hsForm_ac6e0c5e-f904-46ad-af46-882c49a46b42" method="POST" accept-charset="UTF-8" enctype="multipart/form-data" novalidate=""
action="https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/3776657/ac6e0c5e-f904-46ad-af46-882c49a46b42"
class="hs-form-private hsForm_ac6e0c5e-f904-46ad-af46-882c49a46b42 hs-form-ac6e0c5e-f904-46ad-af46-882c49a46b42 hs-form-ac6e0c5e-f904-46ad-af46-882c49a46b42_212dc363-d242-48a9-a1c8-46a33cc10e25 hs-form stacked hs-custom-style"
target="target_iframe_ac6e0c5e-f904-46ad-af46-882c49a46b42" data-instance-id="212dc363-d242-48a9-a1c8-46a33cc10e25" data-form-id="ac6e0c5e-f904-46ad-af46-882c49a46b42" data-portal-id="3776657"
data-test-id="hsForm_ac6e0c5e-f904-46ad-af46-882c49a46b42" __bizdiag="1642197667" __biza="W___">
<fieldset class="form-columns-1">
<div class="hs_email hs-email hs-fieldtype-text field hs-form-field"><label id="label-email-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Business Email" for="email-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Business
Email</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="email-ac6e0c5e-f904-46ad-af46-882c49a46b42" name="email" required="" placeholder="" type="email" class="hs-input" inputmode="email" autocomplete="email" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-2">
<div class="hs_firstname hs-firstname hs-fieldtype-text field hs-form-field"><label id="label-firstname-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your First Name"
for="firstname-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>First Name</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="firstname-ac6e0c5e-f904-46ad-af46-882c49a46b42" name="firstname" required="" placeholder="" type="text" class="hs-input" inputmode="text" autocomplete="given-name" value=""></div>
</div>
<div class="hs_lastname hs-lastname hs-fieldtype-text field hs-form-field"><label id="label-lastname-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Last Name" for="lastname-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Last
Name</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="lastname-ac6e0c5e-f904-46ad-af46-882c49a46b42" name="lastname" required="" placeholder="" type="text" class="hs-input" inputmode="text" autocomplete="family-name" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_job_function hs-job_function hs-fieldtype-select field hs-form-field"><label id="label-job_function-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Job function"
for="job_function-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Job function</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><select id="job_function-ac6e0c5e-f904-46ad-af46-882c49a46b42" required="" class="hs-input is-placeholder" name="job_function">
<option disabled="" value="">Please Select</option>
<option value="IT Executive (CIO, CTO, VP Engineering, etc.)">IT Executive (CIO, CTO, VP Engineering, etc.)</option>
<option value="Business Executive (CEO, COO, CMO, etc.)">Business Executive (CEO, COO, CMO, etc.)</option>
<option value="Architect">Architect</option>
<option value="Director/ Development Manager">Director/ Development Manager</option>
<option value="Product/ Project Manager">Product/ Project Manager</option>
<option value="Software Developer/ Engineer">Software Developer/ Engineer</option>
<option value="Student">Student</option>
<option value="Other">Other</option>
</select></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_phone hs-phone hs-fieldtype-phonenumber field hs-form-field"><label id="label-phone-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Phone number" for="phone-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Phone
number</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="phone-ac6e0c5e-f904-46ad-af46-882c49a46b42" name="phone" required="" placeholder="" type="tel" class="hs-input" inputmode="tel" autocomplete="tel" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_company hs-company hs-fieldtype-text field hs-form-field"><label id="label-company-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Company Name"
for="company-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Company Name</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="company-ac6e0c5e-f904-46ad-af46-882c49a46b42" name="company" required="" placeholder="" type="text" class="hs-input" inputmode="text" autocomplete="organization" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs-dependent-field">
<div class="hs_country_pl_ hs-country_pl_ hs-fieldtype-select field hs-form-field"><label id="label-country_pl_-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Country (Select One)"
for="country_pl_-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Country (Select One)</span><span class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><select id="country_pl_-ac6e0c5e-f904-46ad-af46-882c49a46b42" required="" class="hs-input is-placeholder" name="country_pl_">
<option disabled="" value="">Please Select</option>
<option value="United States">United States</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua & Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Baden">Baden</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bonaire">Bonaire</option>
<option value="Bosnia & Herzegovina">Bosnia & Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei">Brunei</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cabo Verde">Cabo Verde</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Côte d'Ivoire">Côte d'Ivoire</option>
<option value="Democratic Republic of the Congo">Democratic Republic of the Congo</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Eswatini">Eswatini</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-Bissau">Guinea-Bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and McDonald Islands">Heard Island and McDonald Islands</option>
<option value="Holy See">Holy See</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran">Iran</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Kosovo">Kosovo</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyz Republic (Kyrgyzstan)">Kyrgyz Republic (Kyrgyzstan)</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People’s Democratic Republic">Lao People’s Democratic Republic</option>
<option value="Laos">Laos</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, the former Yugoslav Republic of">Macedonia, the former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia">Micronesia</option>
<option value="Moldova">Moldova</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar/Burma">Myanmar/Burma</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="North Korea">North Korea</option>
<option value="North Macedonia">North Macedonia</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pacific Islands">Pacific Islands</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestine">Palestine</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russia">Russia</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthélemy">Saint Barthélemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands, The">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Korea">South Korea</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="St. Vincent & Grenadines">St. Vincent & Grenadines</option>
<option value="State of Palestine">State of Palestine</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syria">Syria</option>
<option value="Taiwan">Taiwan</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania">Tanzania</option>
<option value="Thailand">Thailand</option>
<option value="Timor-Leste">Timor-Leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad & Tobago">Trinidad & Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks & Caicos Islands">Turks & Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom, The">United Kingdom</option>
<option value="Unknown">Unknown</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela">Venezuela</option>
<option value="Vietnam">Vietnam</option>
<option value="Virgin Islands (UK)">Virgin Islands (UK)</option>
<option value="Virgin Islands (US)">Virgin Islands (US)</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
<option value="Union of Soviet Socialist Republics">Union of Soviet Socialist Republics</option>
</select></div>
</div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_primary_use_case hs-primary_use_case hs-fieldtype-select field hs-form-field"><label id="label-primary_use_case-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Primary use-case:"
for="primary_use_case-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Primary use-case:</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><select id="primary_use_case-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="hs-input is-placeholder" name="primary_use_case">
<option disabled="" value="">Please Select</option>
<option value="Building a new app">Building a new app</option>
<option value="Modernizing an existing app">Modernizing an existing app</option>
<option value="Building a superapp">Building a superapp</option>
<option value="Shipping or delivering apps">Shipping or delivering apps</option>
<option value="Not Sure">Not Sure</option>
</select></div>
</div>
</fieldset>
<fieldset class="form-columns-2">
<div class="hs_utm_medium hs-utm_medium hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-utm_medium-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your utm_medium"
for="utm_medium-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>utm_medium</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="utm_medium" class="hs-input" type="hidden" value="email"></div>
</div>
<div class="hs_utm_campaign hs-utm_campaign hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-utm_campaign-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your utm_campaign"
for="utm_campaign-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>utm_campaign</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="utm_campaign" class="hs-input" type="hidden" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-2">
<div class="hs_utm_content hs-utm_content hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-utm_content-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your utm_content"
for="utm_content-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>utm_content</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="utm_content" class="hs-input" type="hidden" value=""></div>
</div>
<div class="hs_utm_term hs-utm_term hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-utm_term-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your utm_term"
for="utm_term-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>utm_term</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="utm_term" class="hs-input" type="hidden" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_utm_source hs-utm_source hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-utm_source-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your utm_source"
for="utm_source-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>utm_source</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="utm_source" class="hs-input" type="hidden" value="outreach"></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_internal_source hs-internal_source hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-internal_source-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your internal_source"
for="internal_source-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>internal_source</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="internal_source" class="hs-input" type="hidden" value=""></div>
</div>
</fieldset>
<fieldset class="form-columns-1">
<div class="hs_conversion_url hs-conversion_url hs-fieldtype-text field hs-form-field" style="display: none;"><label id="label-conversion_url-ac6e0c5e-f904-46ad-af46-882c49a46b42" class="" placeholder="Enter your Conversion URL"
for="conversion_url-ac6e0c5e-f904-46ad-af46-882c49a46b42"><span>Conversion URL</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input name="conversion_url" class="hs-input" type="hidden" value="ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals"></div>
</div>
</fieldset>
<div class="hs_submit hs-submit">
<div class="hs-field-desc" style="display: none;"></div>
<div class="actions"><input type="submit" class="hs-button primary large" value="Request Demo"></div>
</div><input name="hs_context" type="hidden"
value="{"embedAtTimestamp":"1713461017884","formDefinitionUpdatedAt":"1706659462281","lang":"en","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","pageTitle":"What is a Micro Frontend? Examples and Mobile App Benefits","pageUrl":"https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=email","urlParams":{"utm_source":"outreach","utm_medium":"email"},"isHubSpotCmsGeneratedPage":false,"hutk":"d7a9b4fcc64f82941c48de1cc5212dd2","__hsfp":2492303821,"__hssc":"13779304.1.1713461017970","__hstc":"13779304.d7a9b4fcc64f82941c48de1cc5212dd2.1713461017970.1713461017970.1713461017970.1","formTarget":"#uid-lwtp54g","rumScriptExecuteTime":1236.1000003814697,"rumTotalRequestTime":2237.400001525879,"rumTotalRenderTime":2268.7000007629395,"rumServiceResponseTime":1001.3000011444092,"rumFormRenderTime":31.299999237060547,"connectionType":"4g","firstContentfulPaint":0,"largestContentfulPaint":0,"locale":"en","timestamp":1713461018026,"originalEmbedContext":{"portalId":"3776657","formId":"ac6e0c5e-f904-46ad-af46-882c49a46b42","region":"na1","target":"#uid-lwtp54g","isBuilder":false,"isTestPage":false,"isPreview":false,"css":"","isMobileResponsive":true},"correlationId":"212dc363-d242-48a9-a1c8-46a33cc10e25","renderedFieldsIds":["email","firstname","lastname","job_function","phone","company","country_pl_","primary_use_case","utm_medium","utm_campaign","utm_content","utm_term","utm_source","internal_source","conversion_url"],"captchaStatus":"NOT_APPLICABLE","emailResubscribeStatus":"NOT_APPLICABLE","isInsideCrossOriginFrame":false,"source":"forms-embed-1.5064","sourceName":"forms-embed","sourceVersion":"1.5064","sourceVersionMajor":"1","sourceVersionMinor":"5064","allPageIds":{},"_debug_embedLogLines":[{"clientTimestamp":1713461017993,"level":"INFO","message":"Retrieved customer callbacks used on embed context: [\"onFormReady\"]"},{"clientTimestamp":1713461017993,"level":"INFO","message":"Retrieved pageContext values which may be overriden by the embed context: {\"pageTitle\":\"What is a Micro Frontend? Examples and Mobile App Benefits\",\"pageUrl\":\"https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=email\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36\",\"urlParams\":{\"utm_source\":\"outreach\",\"utm_medium\":\"email\"},\"isHubSpotCmsGeneratedPage\":false}"},{"clientTimestamp":1713461017993,"level":"INFO","message":"Retrieved countryCode property from normalized embed definition response: \"DE\""},{"clientTimestamp":1713461017994,"level":"INFO","message":"Retrieved analytics values from API response which may be overriden by the embed context: {\"hutk\":\"d7a9b4fcc64f82941c48de1cc5212dd2\"}"}]}"><iframe
name="target_iframe_ac6e0c5e-f904-46ad-af46-882c49a46b42" style="display: none;"></iframe>
</form>
POST https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/3776657/76e5f69f-85fd-4579-afce-a1892d48bb32
<form id="hsForm_76e5f69f-85fd-4579-afce-a1892d48bb32" method="POST" accept-charset="UTF-8" enctype="multipart/form-data" novalidate=""
action="https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/3776657/76e5f69f-85fd-4579-afce-a1892d48bb32"
class="hs-form-private hsForm_76e5f69f-85fd-4579-afce-a1892d48bb32 hs-form-76e5f69f-85fd-4579-afce-a1892d48bb32 hs-form-76e5f69f-85fd-4579-afce-a1892d48bb32_44f58bdf-137f-4c8b-8cf5-2254b39a80e5 hs-form stacked hs-custom-style"
target="target_iframe_76e5f69f-85fd-4579-afce-a1892d48bb32" data-instance-id="44f58bdf-137f-4c8b-8cf5-2254b39a80e5" data-form-id="76e5f69f-85fd-4579-afce-a1892d48bb32" data-portal-id="3776657"
data-test-id="hsForm_76e5f69f-85fd-4579-afce-a1892d48bb32" __bizdiag="-1797773545" __biza="W___">
<div class="hs_email hs-email hs-fieldtype-text field hs-form-field"><label id="label-email-76e5f69f-85fd-4579-afce-a1892d48bb32" class="" placeholder="Enter your Email" for="email-76e5f69f-85fd-4579-afce-a1892d48bb32"><span>Email</span><span
class="hs-form-required">*</span></label>
<legend class="hs-field-desc" style="display: none;"></legend>
<div class="input"><input id="email-76e5f69f-85fd-4579-afce-a1892d48bb32" name="email" required="" placeholder="your@email.com" type="email" class="hs-input" inputmode="email" autocomplete="email" value=""></div>
</div>
<div class="hs_submit hs-submit">
<div class="hs-field-desc" style="display: none;"></div>
<div class="actions"><input type="submit" class="hs-button primary large" value="Get our newsletter →"></div>
</div><input name="hs_context" type="hidden"
value="{"embedAtTimestamp":"1713461017867","formDefinitionUpdatedAt":"1680623772991","lang":"en","isLegacyThemeAllowed":"true","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","pageTitle":"What is a Micro Frontend? Examples and Mobile App Benefits","pageUrl":"https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=email","urlParams":{"utm_source":"outreach","utm_medium":"email"},"isHubSpotCmsGeneratedPage":false,"hutk":"d7a9b4fcc64f82941c48de1cc5212dd2","__hsfp":2492303821,"__hssc":"13779304.1.1713461017970","__hstc":"13779304.d7a9b4fcc64f82941c48de1cc5212dd2.1713461017970.1713461017970.1713461017970.1","formTarget":"#uid-wo99b6i","rumScriptExecuteTime":1236.1000003814697,"rumTotalRequestTime":2221.7000007629395,"rumTotalRenderTime":2227.400001525879,"rumServiceResponseTime":985.6000003814697,"rumFormRenderTime":5.700000762939453,"connectionType":"4g","firstContentfulPaint":0,"largestContentfulPaint":0,"locale":"en","timestamp":1713461017988,"originalEmbedContext":{"portalId":"3776657","formId":"76e5f69f-85fd-4579-afce-a1892d48bb32","region":"na1","target":"#uid-wo99b6i","isBuilder":false,"isTestPage":false,"isPreview":false,"css":"","isMobileResponsive":true,"submitText":"Get our newsletter →"},"correlationId":"44f58bdf-137f-4c8b-8cf5-2254b39a80e5","renderedFieldsIds":["email"],"captchaStatus":"NOT_APPLICABLE","emailResubscribeStatus":"NOT_APPLICABLE","isInsideCrossOriginFrame":false,"source":"forms-embed-1.5064","sourceName":"forms-embed","sourceVersion":"1.5064","sourceVersionMajor":"1","sourceVersionMinor":"5064","allPageIds":{},"_debug_embedLogLines":[{"clientTimestamp":1713461017977,"level":"INFO","message":"Retrieved customer callbacks used on embed context: [\"onFormReady\"]"},{"clientTimestamp":1713461017977,"level":"INFO","message":"Retrieved pageContext values which may be overriden by the embed context: {\"pageTitle\":\"What is a Micro Frontend? Examples and Mobile App Benefits\",\"pageUrl\":\"https://ionic.io/resources/articles/micro-frontends-for-mobile-with-ionic-portals?utm_source=outreach&utm_medium=email\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36\",\"urlParams\":{\"utm_source\":\"outreach\",\"utm_medium\":\"email\"},\"isHubSpotCmsGeneratedPage\":false}"},{"clientTimestamp":1713461017978,"level":"INFO","message":"Retrieved countryCode property from normalized embed definition response: \"DE\""},{"clientTimestamp":1713461017987,"level":"INFO","message":"Retrieved analytics values from API response which may be overriden by the embed context: {\"hutk\":\"d7a9b4fcc64f82941c48de1cc5212dd2\"}"}]}"><iframe
name="target_iframe_76e5f69f-85fd-4579-afce-a1892d48bb32" style="display: none;"></iframe>
</form>
Text Content
Skip to main content Platform IONIC FOR ENTERPRISE Accelerate the way your business builds modern apps at scale. Learn more → MOBILE APP DEV * Enterprise SDK * Auth * Biometrics * Storage * Integrations MOBILE CI/CD * Appflow * Live Updates * Native Builds * App Publishing * CI/CD Automation MICRO FRONTENDS * Portals * Why Portals? * Micro frontends 101 * Portals Docs Solutions SOLUTIONS Learn how to make the most of the Ionic app development platform. Why Ionic? → USE CASES * Mobile App Dev * Mobile Security * Mobile CI/CD * Mobile Micro Frontends * Superapps WHY IONIC * For Developers * For Architects * For IT Executives * For Startups * Showcase → INDUSTRIES BankingEducationManufacturingTechnologyTransportation HealthcareInsuranceRetail Resources RESOURCES Resources to help you learn how to build, secure, and deliver amazing apps Resource Center → COMPARISONS * Ionic vs. React Native * Ionic vs. Flutter * Ionic vs. Xamarin * Capacitor vs. Cordova * Hybrid vs. Native EVALUATION GUIDES * Ionic for Enterprise * Mobile Micro Frontends * Mobile App Security * Architects Guide to PWAs * See all → LEARN THE BASICS * Hybrid App Dev * Cross-platform Dev * What is Mobile DevOps * Micro Frontends * Is Ionic the right choice? * See all → Developers DEVELOPERS Everything you need to build apps with Ionic products and open source tooling. Open Source SDK →Explore Docs → DOCUMENTATION * Ionic Docs * Appflow * Portals * Ionic CLI * Framework * Capacitor COMMUNITY * Community * Forum * Discord * Events * YouTube * GitHub OPEN SOURCE IONIC FRAMEWORK Mobile UI toolkit for web developers CAPACITOR Cross-platform native runtime STENCIL Web component compiler engine See all OSS projects → * Blog * Pricing Sign inGet started → REQUEST A DEMO Business Email* First Name* Last Name* Job function* Please SelectIT Executive (CIO, CTO, VP Engineering, etc.)Business Executive (CEO, COO, CMO, etc.)ArchitectDirector/ Development ManagerProduct/ Project ManagerSoftware Developer/ EngineerStudentOther Phone number* Company Name* Country (Select One)* Please SelectUnited StatesAfghanistanAland IslandsAlbaniaAlgeriaAndorraAngolaAnguillaAntarcticaAntigua & BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBadenBahamasBahrainBangladeshBarbadosBelarusBelgiumBelizeBeninBermudaBhutanBoliviaBonaireBosnia & HerzegovinaBotswanaBrazilBritish Indian Ocean TerritoryBruneiBulgariaBurkina FasoBurundiCabo VerdeCambodiaCameroonCanadaCape VerdeCayman IslandsCentral African RepublicChadChileChinaChristmas IslandCocos (Keeling) IslandsColombiaComorosCook IslandsCosta RicaCroatiaCubaCyprusCzech RepublicCôte d'IvoireDemocratic Republic of the CongoDenmarkDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEswatiniEthiopiaFalkland Islands (Malvinas)Faroe IslandsFijiFinlandFranceFrench GuianaFrench Southern TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHeard Island and McDonald IslandsHoly SeeHoly See (Vatican City State)HondurasHong KongHungaryIcelandIndiaIndonesiaIranIraqIrelandIsle of ManIsraelItalyJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKosovoKuwaitKyrgyz Republic (Kyrgyzstan)KyrgyzstanLao People’s Democratic RepublicLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacaoMacedonia, the former Yugoslav Republic ofMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMontserratMoroccoMozambiqueMyanmar/BurmaNamibiaNauruNepalNetherlandsNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorth KoreaNorth MacedoniaNorwayOmanPacific IslandsPakistanPalauPalestinePanamaPapua New GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto RicoQatarReunionRomaniaRussiaRwandaSaint BarthélemySaint Helena, Ascension and Tristan da CunhaSaint Kitts and NevisSaint LuciaSaint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSao Tome and PrincipeSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth KoreaSouth SudanSpainSri LankaSt. Vincent & GrenadinesState of PalestineSudanSurinameSwazilandSwedenSwitzerlandSyriaTaiwanTajikistanTanzaniaThailandTimor-LesteTogoTokelauTongaTrinidad & TobagoTunisiaTurkeyTurkmenistanTurks & Caicos IslandsTuvaluUgandaUkraineUnited Arab EmiratesUnited KingdomUnknownUruguayUzbekistanVanuatuVenezuelaVietnamVirgin Islands (UK)Virgin Islands (US)Wallis and FutunaWestern SaharaYemenZambiaZimbabweUnion of Soviet Socialist Republics Primary use-case: Please SelectBuilding a new appModernizing an existing appBuilding a superappShipping or delivering appsNot Sure utm_medium utm_campaign utm_content utm_term utm_source internal_source Conversion URL -------------------------------------------------------------------------------- * Resources * Articles * Micro Frontends for Mobile with Ionic Portals Request a Demo MATT NETKOW Product Evangelist Contents * From Microservices to Micro Frontends * Benefits of Micro Frontends * Scale development by working in parallel * Reuse assets across applications * Accelerate development of new applications and experiences * Bringing Micro Frontends to Mobile With Embedded Web Apps * Easy to update * Scale development with in-house web talent * Mobile optimized and invisible to users * Full access to native features * Real-Life Examples of Embedded Web Experiences * How are enterprises embedding web content into native apps today? * The difficulty of building solutions on top of stock Web Views * Ionic Portals: Embedded Web Experiences for Native Mobile Apps * What is Ionic Portals? * How Portals works * About Ionic MICRO FRONTENDS FOR MOBILE WITH IONIC PORTALS What is a micro frontend? Learn to answer this and more in our comprehensive guide which explains the benefits of micro frontends and examples of how to bring these benefits to native mobile apps using Ionic Portals. -------------------------------------------------------------------------------- In the early days of mobile app development, software engineers built apps in a monolithic architecture. This process brought the frontend and backend code—and their subsequent teams—together in a single tier application. It combined UI, business logic, and data access. Monolithic architecture comes with its own set of challenges. As teams scale up, working together in unison, shipping quickly, and responding to customer requests becomes difficult if all teams are working in a single tier structure. The microservice framework came out of the challenges monolithic architectures present. Microservices take the backend and break them up into a loosely coupled collection of services segmented by business unit or feature tier. This allows teams to work more independently to build, test, and deploy their services on the backend without stepping on each other's toes. Microservices brought development teams into a new age of app development. > Micro frontends break modern web apps into pages and feature slices. FROM MICROSERVICES TO MICRO FRONTENDS Modern app development has made front-end web apps more powerful but more complex as a result. The complexity bred a new way of thinking about developing front-end features in mobile applications. With the advent of microservices came micro frontends—which brings the microservice concept of splitting up the backend into feature slices to the front-end. Micro frontends break modern web apps into pages and feature slices. Each feature is owned end-to-end by a single team or business unit. That allows them to work tightly coupled across the entire stack end-to-end and still come together as a team to deploy a cohesive experience. With modern web apps, the end-user still gets a cohesive experience, but the architecture underneath and the way that the teams work together is different. BENEFITS OF MICRO FRONTENDS As complex as micro frontends are, they come with their own set of benefits — for example: SCALE DEVELOPMENT BY WORKING IN PARALLEL Micro frontend architecture allows teams and businesses to scale development by working in parallel, moving multiple goals and KPIs forward. Working in parallel also removes natural blockers that come from the monolithic approach to application development. The great thing about Capacitor is that it allows you to use whatever web stack you want. If you’re building with Tailwind, Bootstrap, Svelte, Angular, React, Vue, it’s all supported on Capacitor. REUSE ASSETS ACROSS APPLICATIONS Micro frontends are not only scalable, they are reusable. Reuse code, assets, and components across new and old applications. Micro frontends remove the need to develop the same search experience, login functionality, or product catalogue every time. ACCELERATE DEVELOPMENT OF NEW APPLICATIONS AND EXPERIENCES Because micro frontend assets are reusable, teams and businesses can accelerate the development of new apps and push them to the market faster. Features and experiences can be updated independently from each other, leading to faster updates of old web applications and quicker builds of new web applications. The benefits of micro frontends are great for desktop web sites and apps, but how can you bring the concept of micro frontends to mobile apps? BRINGING MICRO FRONTENDS TO MOBILE WITH EMBEDDED WEB APPS Traditional native mobile applications are not set up to support micro frontend architectures in the same way as web applications. For example, because of the way mobile apps are distributed, all of the code must compile down to a single binary. That means, whatever part of the app you update has to go through the same build pipeline eventually—and this becomes a critical bottleneck as mobile teams try to scale by working on features in parallel. In contrast, in a web application it is possible to isolate and update a very specific portion of the project without updating the rest of the application. So how can development teams benefit from the flexibility of web app development in native mobile apps? By bringing the web to mobile. Using embedded web experiences that exist within your native mobile project, you can deliver all the features of micro frontends, plus extra benefits like easier access to talent. Let’s explore why your company would want to use embedded web apps to bring micro frontends to mobile. EASY TO UPDATE Embedded web experiences are meant to be created independently and implemented without needing to update the larger application. Again, teams work separately but in smaller instances like web apps that are truly independent of each other. SCALE DEVELOPMENT WITH IN-HOUSE WEB TALENT Most enterprises have invested in great web developer talent. They have the ability to build web apps, desktop apps, and websites necessary for your company to have a web presence and support the business. Why not scale development efforts by using the web team you already have to help build the mobile apps? Web developers are ready to go. They have needed to develop the skills to build mobile optimized experiences likely for years. Responsive design has been a requirement for many years as we have different devices to build for. MOBILE OPTIMIZED AND INVISIBLE TO USERS Web content performs within a native app seamlessly, providing customers with the same experience as if it were a purely native app. Different devices require different form factors and UX designs. Rather than building unique apps for every single device, web content is optimized to handle any device experience. FULL ACCESS TO NATIVE FEATURES No sacrifice needs to be made when using web versus pure native code. Using modern tooling (more on that below), embedded web apps have full access to native device features like the camera, bluetooth, geolocation, haptics, and others. > While stock Web Views, on the surface, should save engineering teams > development time, they could often lead to bigger problems if not developed > correctly. REAL-LIFE EXAMPLES OF EMBEDDED WEB EXPERIENCES It’s incredibly common for businesses—from startups to enterprises—to incorporate web-based experiences inside mobile apps. Popular enterprises like Apple and Netflix use embedded Web Views to accelerate their app development. Here are two examples of large enterprise companies who have taken advantage of micro frontend technologies to build and scale their native applications. Apple Music: Apple Music leverages the best of web and native. On the native side, Apple developed tabs for listening, browsing, searching, and song controls. The rest of the content like the web ads and playlist cards are all the web content. This allows the web developers to quickly and easily update and display changes immediately to the app if a new hit song comes out, for example. Netflix: Help content, FAQs, and user guides are constantly changing. Netflix uses Web Views to quickly update and push their help content to customers. The help content—also available on their website—only needs to be updated by web developers in one database and the content will be available immediately across all applications without an app update. HOW ARE ENTERPRISES EMBEDDING WEB CONTENT INTO NATIVE APPS TODAY? Large enterprises are building on top of stock Web Views—which are native web browser components—that Apple and Google provide in their standard SDKs. They are used primarily to display internal and external web content. The problem with using stock Web Views is that only low-level APIs are exposed. Meaning, these companies are investing a lot of time and resources to build solutions on top of these stock building blocks. The following are just a few solutions engineering teams need to build to create advanced experiences for users. Communication between web and native layer. Engineers using stock Web Views need to create and implement a pathway to send data back and forth. They would also need to develop the process of handling authentication in cookies. Managing native elements. Permission dialogue boxes, navigation, and load all have to be implemented and managed with stock Web Views. Engineers would also need to develop handling errors—what happens when something doesn’t load correctly on the web, native, or both. Updating web experience dynamically. How are the applications kept updated in a dynamic fashion? Traditionally, applications would have to go through app store reviews which can take several days. So engineers would have to build mechanisms in their stock Web Views that would point to a server or load the updates remotely. THE DIFFICULTY OF BUILDING SOLUTIONS ON TOP OF STOCK WEB VIEWS While stock Web Views, on the surface, should save engineering teams development time, they could often lead to bigger problems if not developed correctly. Time consuming and costly to maintain. We get at least one major iOS and Android release every year, which means there are bugs and new features to integrate. They would need to make sure these custom Web Views are kept up to date and don’t break with new operating system versions or patches. Building solutions on top of stock Web Views takes time away from core competencies. Companies like Amazon want to focus on creating the best store experiences for their customers. They don’t want to take the time to build complicated features on top of Web Views. Security risks and vulnerabilities. Engineering teams need to make sure they are building solutions on top of Web Views that pass data securely and correctly. They have to make sure user data can’t be compromised—a very complicated task. Lack of native feature access from the web. While engineers can use the standard web APIs like the camera integrated in the stock Web Views, there are some user experience pieces that need to be built in order to provide a really great experience. Some of the building blocks available are low-level, basic, and not up to par with what customers expect. Lack of granular controls for collaboration between the native and web team. Native teams want to be sure the web teams are building in a sandboxed environment which minimizes the risk of breaking the native features of the app. Native teams also want to be sure that the web teams’ contributions are working properly with the rest of the app. This functionality doesn’t come standard with stock Web Views and needs to be built from scratch. IONIC PORTALS: EMBEDDED WEB EXPERIENCES FOR NATIVE MOBILE APPS Though using Web Views theoretically save engineering teams time by bringing micro frontends in native apps, building on top of stock Web Views isn’t easy to do and can actually take more time and effort than the benefits allow. Are engineering teams left with either using clunky stock Web Views or foregoing the ability to embed web content into native apps altogether? No. Ionic developed a new solution: Ionic Portals. WHAT IS IONIC PORTALS? Ionic Portals is a secure and extensible Web View for native apps backed and developed by Ionic. It's built for teams that need a more capable and flexible Web View component to enable their web developers to add new features and screens to native apps in a safe, controlled way. Portals allows you to bring your web experiences into mobile by embedding them into iOS and Android apps. You get full access to native components and device APIs (like camera and geolocation). We have security experts that make sure we’re following Apple and Google’s guidelines to provide you with a great experience that is also safe for your users' data. We allow you to have granular control over which sections and which features the web developers can access. Portals comes with a Live Updates feature that will allow you to update your web based content, images, and more, by bypassing the app store review process. This saves time when critical bugs or A/B changes need to be made daily without having to go through the app store review. Ionic is known for our enterprise support, advisory, and training services that you don’t get from Apple, Google, or Facebook. We have mobile and security experts available to help. Your users will experience your app like any other native app. The seamless integration between native and web, native feature access, and offline capabilities will be invisible to the users. HOW PORTALS WORKS Safely and securely add web-based experiences to your existing native mobile apps. Here’s how it works: 1. Drop the Portals iOS & Android libraries into your app. 2. Choose the web experiences you want to integrate. 3. Set granular permissions that designate which parts of the native app your web teams can touch. 4. Choose from our pre-built native plugins to unlock full native device features in your web-based experiences. 5. Embed the web content into your existing native app. 6. Ship. We’re excited to provide a solution to bring web experiences into native mobile applications. Ionic Portals gives enterprises the opportunity to build and scale their mobile applications quickly, saving time and development costs. If you’re curious to learn more about Ionic Portals and embedding web content into native apps, check out our Ionic Portals demo and our webinar we presented at the Enterprise App Summit. If you’re ready to dive into Ionic Portals, sign up or log in to get access or contact an Ionic App Specialist today! ABOUT IONIC Ionic is a leader in enterprise mobile app development, with 5 million developers worldwide and thousands of enterprise customers who use Ionic to build mission-critical apps for their customers, both external and internal. It powers 15% of apps in the app store, not including thousands of apps built internally at enterprises for every line-of-business need. Ionic is unique in that it takes a web-first approach, leveraging HTML, CSS, and Javascript to build high-quality iOS, Android, desktop, and Progressive Web Apps. -------------------------------------------------------------------------------- MATT NETKOW Product Evangelist JOIN OUR NEWSLETTER. NO SPAM–ONLY THE GOOD STUFF. Sign up to receive the latest updates from our Blog. Email* YOU’RE IN GOOD COMPANY. IONIC POWERS MILLIONS OF APPS AT SOME OF THE SMARTEST COMPANIES IN THE WORLD. See all Customers → Community Forum → Stop by and say hello. The Forum is the best place to connect, ask a question, or help out other Ionic developers! Explore the docs → Take a look and get coding! Our documentation covers all you need to know to get an app up and running in minutes. THE PLATFORM * Overview * Build * Secure * Deliver * Why Ionic? PRODUCTS * Framework * Capacitor * Appflow * Identity Vault * Secure Storage * Auth Connect RESOURCES * Resource Center * Blog * Articles * Webinars * Case Studies * Videos COMPANY * About us * Customers * Brand * Contact * Careers * Privacy SUPPORT * Help Center * Partners * Advisory * Enterprise Guide * Copyright © 2024 Ionic * Terms * Privacy * * * * * By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Cookies Settings Reject All Accept All Cookies PRIVACY PREFERENCE CENTER When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information Allow All MANAGE CONSENT PREFERENCES STRICTLY NECESSARY COOKIES Always Active These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information. PERFORMANCE COOKIES Performance Cookies These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance. FUNCTIONAL COOKIES Functional Cookies These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly. TARGETING COOKIES Targeting Cookies These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Back Button COOKIE LIST Search Icon Filter Icon Clear checkbox label label Apply Cancel Consent Leg.Interest checkbox label label checkbox label label checkbox label label Reject All Confirm My Choices