The Zero Server Web Framework allows developers to build web applications without configuration

the Zero server The web framework allows developers to create, build, and develop web applications with server-side rendering and little to no configuration. The recently released major iteration of Zero accepts a mixture of Node.js, React, view, HTML, MDXand static fileswith support for Slender ready to follow in future releases. Zero 1.0 features automatic configuration, filesystem-based routing, automatic dependency resolution, and more.

With Zero 1.0, developers organize the various elements of a web application into folders, whose structure and contents will be mapped to the routes served by Zero Server. Filesystem-based routing maps files to routes based on file extension.

Following old PHP conventions, content that resides in ./api/login.js is exposed to http:///api/login. This is valid for any file with a .js extension. Zero thus allows developers to define their API endpoints as individual functions. Zero also incorporates a route rewrite mechanism to allow nested routes.

Files with a .jsx The extension must contain React code that exports a React component that specifies the page to display on the appropriate route. If a component resides in the ./about.jsx file, the corresponding page will be exposed to http:///about. Conversely, React files should use a .jsx extension, even if they don’t use jsxin order to distinguish with API definition .js files. For each React page, Zero 1.0 transpiles and groups the page with Parcel, grouping CSS/SASS/SCSS together as they are encountered. Pages are server-rendered, so the user doesn’t see a blank page until the necessary JavaScript is loaded. Session data is injected into the properties of the React component (accessories). Zero automatically performs code splitting. Zero extra uses Reaction helmet to add meta information (header tags such as </code>Where <code><meta></code>) to the search engine optimization (SEO) improvement page.</p> <p>Vue files must have the <code>.vue</code> extension and follow a grouping process similar to React files with a <a href="https://github.com/remoteinterview/zero/blob/master/docs/vue/README.md">some differences</a>. Meta information is <a href="https://github.com/remoteinterview/zero/blob/master/docs/vue/README.md#populating-head">specified as the <code>head</code> property</a> of the Vue file component.</p> <p>Zero automatically converts all Markdown files (<code>.md</code> extension) to HTML pages. <a href="https://mdxjs.com/">MDX</a> (<code>.mdx</code> extension) files are also supported. Just like with React files, <a href="https://github.com/nfl/react-helmet">Reaction helmet</a> is used to add meta information to <code>.md</code> and <code>.mdx</code> files.</p> <p>When Zero encounters HTML files, it extracts and compiles embedded URLs for scripts, styles, media, and other HTML files. The references are rewritten in the HTML so that they link to the correct output files. Zero exploits the <a href="https://parceljs.org/">Parcel</a> bundler for this task.</p> <p>Static files, i.e. files that do not have one of the supported extensions, are served as is.</p> <p>Zero automatically resolves dependencies. If a file requests a specific package (e.g. via <code>require('underscore')</code>), the latest version of <code>underscore</code> is automatically retrieved and installed. Developers can adjust the resolution process by specifying their own <code>package.json</code> file to <a class="wpil_keyword_link " href="/how-to-install-wordpress-on-lighttpd-web-server-ubuntu-20-04-18-04/" title="install" data-wpil-keyword-link="linked">install</a> a specific version of a package.</p> <p>The Zero <code>npm</code> The package is available under the Apache 2.0 open source license. Contributions are welcome via its <a href="https://github.com/remoteinterview/zero">GitHub package</a> and must follow the <a href="https://github.com/remoteinterview/zero/blob/master/CONTRIBUTING.md">contribution guidelines</a>.</p> </div> <div class="post-item-metadata entry-meta"> <span class="tags-links">Tags: <a href="/tag/web-applications/" rel="tag">web applications</a></span> </div> <nav class="navigation post-navigation" aria-label="Continue Reading"> <h2 class="screen-reader-text">Continue Reading</h2> <div class="nav-links"><div class="nav-previous"><a href="/23-front-end-performance-rules-for-web-applications/" rel="prev"><span class="em-post-navigation">Previous</span> 23 Front End Performance Rules for Web Applications</a></div><div class="nav-next"><a href="/how-to-choose-the-best-database-for-web-applications/" rel="next"><span class="em-post-navigation">Next</span> How to choose the best database for web applications?</a></div></div> </nav> </div> </div> <div class="promotionspace enable-promotionspace"> <div class="em-reated-posts col-ten"> <div class="row"> <h3 class="related-title"> More Stories </h3> <div class="row"> <div class="col-sm-4 latest-posts-grid" data-mh="latest-posts-grid"> <div class="spotlight-post"> <figure class="categorised-article inside-img"> <div class="categorised-article-wrapper"> <div class="data-bg-hover data-bg-categorised read-bg-img"> <a href="/path-traversal-in-java-web-applications-announcing-the-invicti-technical-paper/"> <img fifu-featured="1" width="300" height="300" src="https://securityboulevard.com/wp-content/uploads/2018/01/TwitterLogo-002.jpg" class="attachment-medium size-medium wp-post-image" alt="" title="" loading="lazy"> </a> </div> </div> <div class="figure-categories figure-categories-bg"> <ul class="cat-links"><li class="meta-category"> <a class="covernews-categories category-color-1" href="/category/web-applications/" alt="View all posts in Web applications"> Web applications </a> </li></ul> </div> </figure> <figcaption> <h3 class="article-title article-title-1"> <a href="/path-traversal-in-java-web-applications-announcing-the-invicti-technical-paper/"> Path traversal in Java web applications – announcing the Invicti technical paper </a> </h3> <div class="grid-item-metadata"> <span class="author-links"> <span class="item-metadata posts-date"> <i class="far fa-clock"></i> 1 month ago </span> <span class="item-metadata posts-author"> <a href="/author/james-j-nunley/"> James J. Nunley </a> </span> </span> </div> </figcaption> </div> </div> <div class="col-sm-4 latest-posts-grid" data-mh="latest-posts-grid"> <div class="spotlight-post"> <figure class="categorised-article inside-img"> <div class="categorised-article-wrapper"> <div class="data-bg-hover data-bg-categorised read-bg-img"> <a href="/enhance-web-applications-with-a-file-upload-service/"> <img fifu-featured="1" width="300" height="300" src="https://sdtimes.com/wp-content/uploads/2022/10/Screen-Shot-2022-10-20-at-12.39.40-PM.jpg" class="attachment-medium size-medium wp-post-image" alt="" title="" loading="lazy"> </a> </div> </div> <div class="figure-categories figure-categories-bg"> <ul class="cat-links"><li class="meta-category"> <a class="covernews-categories category-color-1" href="/category/web-applications/" alt="View all posts in Web applications"> Web applications </a> </li></ul> </div> </figure> <figcaption> <h3 class="article-title article-title-1"> <a href="/enhance-web-applications-with-a-file-upload-service/"> Enhance web applications with a file upload service </a> </h3> <div class="grid-item-metadata"> <span class="author-links"> <span class="item-metadata posts-date"> <i class="far fa-clock"></i> 2 months ago </span> <span class="item-metadata posts-author"> <a href="/author/james-j-nunley/"> James J. Nunley </a> </span> </span> </div> </figcaption> </div> </div> <div class="col-sm-4 latest-posts-grid" data-mh="latest-posts-grid"> <div class="spotlight-post"> <figure class="categorised-article inside-img"> <div class="categorised-article-wrapper"> <div class="data-bg-hover data-bg-categorised read-bg-img"> <a href="/5-things-you-should-know-before-buying-custom-web-applications/"> <img fifu-featured="1" width="300" height="300" src="https://www.bbntimes.com/images/articles/companies/5_Things_You_Should_Know_Before_Buying_Custom_Web_Applications.jpg" class="attachment-medium size-medium wp-post-image" alt="" title="" loading="lazy"> </a> </div> </div> <div class="figure-categories figure-categories-bg"> <ul class="cat-links"><li class="meta-category"> <a class="covernews-categories category-color-1" href="/category/web-applications/" alt="View all posts in Web applications"> Web applications </a> </li></ul> </div> </figure> <figcaption> <h3 class="article-title article-title-1"> <a href="/5-things-you-should-know-before-buying-custom-web-applications/"> 5 Things You Should Know Before Buying Custom Web Applications </a> </h3> <div class="grid-item-metadata"> <span class="author-links"> <span class="item-metadata posts-date"> <i class="far fa-clock"></i> 2 months ago </span> <span class="item-metadata posts-author"> <a href="/author/james-j-nunley/"> James J. Nunley </a> </span> </span> </div> </figcaption> </div> </div> </div> </div> </div> </div> </article> </main> </div> <aside id="secondary" class="widget-area sidebar-sticky-top"> <div id="categories-1" class="widget covernews-widget widget_categories"><h2 class="widget-title widget-title-1"><span>Categories</span></h2> <ul> <li class="cat-item cat-item-8"><a href="/category/content-management-systems/">Content management systems</a> </li> <li class="cat-item cat-item-5"><a href="/category/database/">Database</a> </li> <li class="cat-item cat-item-2"><a href="/category/web-applications/">Web applications</a> </li> <li class="cat-item cat-item-4"><a href="/category/web-server/">Web server</a> </li> </ul> </div><div id="block-1" class="widget covernews-widget widget_block widget_tag_cloud"><p class="wp-block-tag-cloud"><a href="/tag/america-middle/" class="tag-cloud-link tag-link-20 tag-link-position-1" style="font-size: 8.7pt;" aria-label="america middle (21 items)">america middle</a> <a href="/tag/asia-pacific/" class="tag-cloud-link tag-link-13 tag-link-position-2" style="font-size: 12.55pt;" aria-label="asia pacific (27 items)">asia pacific</a> <a href="/tag/canada-mexico/" class="tag-cloud-link tag-link-23 tag-link-position-3" style="font-size: 8pt;" aria-label="canada mexico (20 items)">canada mexico</a> <a href="/tag/competitive-landscape/" class="tag-cloud-link tag-link-22 tag-link-position-4" style="font-size: 8pt;" aria-label="competitive landscape (20 items)">competitive landscape</a> <a href="/tag/east-africa/" class="tag-cloud-link tag-link-14 tag-link-position-5" style="font-size: 11.85pt;" aria-label="east africa (26 items)">east africa</a> <a href="/tag/europe-asia/" class="tag-cloud-link tag-link-21 tag-link-position-6" style="font-size: 8.7pt;" aria-label="europe asia (21 items)">europe asia</a> <a href="/tag/key-players/" class="tag-cloud-link tag-link-18 tag-link-position-7" style="font-size: 9.4pt;" aria-label="key players (22 items)">key players</a> <a href="/tag/market-report/" class="tag-cloud-link tag-link-12 tag-link-position-8" style="font-size: 12.55pt;" aria-label="market report (27 items)">market report</a> <a href="/tag/market-research/" class="tag-cloud-link tag-link-17 tag-link-position-9" style="font-size: 10.8pt;" aria-label="market research (24 items)">market research</a> <a href="/tag/market-size/" class="tag-cloud-link tag-link-19 tag-link-position-10" style="font-size: 8.7pt;" aria-label="market size (21 items)">market size</a> <a href="/tag/middle-east/" class="tag-cloud-link tag-link-15 tag-link-position-11" style="font-size: 11.85pt;" aria-label="middle east (26 items)">middle east</a> <a href="/tag/north-america/" class="tag-cloud-link tag-link-16 tag-link-position-12" style="font-size: 11.85pt;" aria-label="north america (26 items)">north america</a> <a href="/tag/united-states/" class="tag-cloud-link tag-link-11 tag-link-position-13" style="font-size: 14.65pt;" aria-label="united states (31 items)">united states</a> <a href="/tag/web-applications/" class="tag-cloud-link tag-link-10 tag-link-position-14" style="font-size: 19.2pt;" aria-label="web applications (43 items)">web applications</a> <a href="/tag/web-server/" class="tag-cloud-link tag-link-9 tag-link-position-15" style="font-size: 22pt;" aria-label="web server (51 items)">web server</a></p></div><div id="acf-recent-posts-widget-1" class="widget covernews-widget widget_acf-recent-posts-widget"><h2 class="widget-title widget-title-1"><span>Recent Posts</span></h2><div class="acf-rpw-block acf-rpw-default"> <ul class="acf-rpw-ul"><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/u-s-bank-personal-loans-review-2022-there-are-no-fees-and-fast-financing-but-confusing-information-on-the-internet/" rel="bookmark">U.S. Bank Personal Loans Review 2022 There Are No Fees and Fast Financing But Confusing Information On The Internet</a></h3> </li><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/how-to-launch-a-postgresql-database-in-the-cloud-with-aws-rds/" rel="bookmark">How to launch a PostgreSQL database in the cloud with AWS RDS</a></h3> </li><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/professor-wins-eppy-award-for-mass-murder-database/" rel="bookmark">Professor wins Eppy award for mass murder database</a></h3> </li><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/tribute-to-the-apple-database/" rel="bookmark">Tribute to the Apple Database</a></h3> </li><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/red-hat-releases-new-versions-of-red-hat-enterprise-linux/" rel="bookmark">Red Hat releases new versions of Red Hat Enterprise Linux</a></h3> </li><li class="acf-rpw-li acf-rpw-clearfix"> <h3 class="acf-rpw-title"><a href="/families-of-victims-hope-unsolved-cases-will-be-added-to-new-statewide-database/" rel="bookmark">Families of victims hope unsolved cases will be added to new statewide database</a></h3> </li></ul> </div> </div><div id="archives-1" class="widget covernews-widget widget_archive"><h2 class="widget-title widget-title-1"><span>Archives</span></h2> <ul> <li><a href="/2022/11/">November 2022</a></li> <li><a href="/2022/10/">October 2022</a></li> <li><a href="/2022/09/">September 2022</a></li> <li><a href="/2022/08/">August 2022</a></li> <li><a href="/2022/07/">July 2022</a></li> <li><a href="/2022/06/">June 2022</a></li> <li><a href="/2022/05/">May 2022</a></li> <li><a href="/2022/04/">April 2022</a></li> <li><a href="/2022/03/">March 2022</a></li> <li><a href="/2022/02/">February 2022</a></li> <li><a href="/2022/01/">January 2022</a></li> <li><a href="/2021/12/">December 2021</a></li> <li><a href="/2021/11/">November 2021</a></li> <li><a href="/2021/10/">October 2021</a></li> <li><a href="/2021/09/">September 2021</a></li> <li><a href="/2021/08/">August 2021</a></li> <li><a href="/2021/07/">July 2021</a></li> <li><a href="/2021/06/">June 2021</a></li> <li><a href="/2021/05/">May 2021</a></li> <li><a href="/2021/04/">April 2021</a></li> <li><a href="/2021/02/">February 2021</a></li> <li><a href="/2021/01/">January 2021</a></li> <li><a href="/2020/11/">November 2020</a></li> <li><a href="/2020/09/">September 2020</a></li> <li><a href="/2020/08/">August 2020</a></li> <li><a href="/2020/05/">May 2020</a></li> <li><a href="/2020/04/">April 2020</a></li> <li><a href="/2020/01/">January 2020</a></li> <li><a href="/2019/07/">July 2019</a></li> <li><a href="/2019/05/">May 2019</a></li> <li><a href="/2019/01/">January 2019</a></li> <li><a href="/2018/08/">August 2018</a></li> <li><a href="/2018/07/">July 2018</a></li> <li><a href="/2018/05/">May 2018</a></li> <li><a href="/2017/02/">February 2017</a></li> <li><a href="/2016/07/">July 2016</a></li> <li><a href="/2016/02/">February 2016</a></li> <li><a href="/2015/04/">April 2015</a></li> <li><a href="/2013/10/">October 2013</a></li> <li><a href="/2012/11/">November 2012</a></li> <li><a href="/2012/08/">August 2012</a></li> </ul> </div></aside> </div> </div> <footer class="site-footer"> <div class="secondary-footer"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div class="footer-nav-wrapper"> <div class="footer-navigation"><ul id="footer-menu" class="menu"><li id="menu-item-37" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-37"><a href="/privacy-policy/">Privacy Policy</a></li> <li id="menu-item-38" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="/terms-and-conditions/">Terms and Conditions</a></li> </ul></div> </div> </div> </div> </div> </div> <div class="site-info"> <div class="container"> <div class="row"> <div class="col-sm-12"> Copyright © All rights reserved. </div> </div> </div> </div> </footer> </div> <a id="scroll-up" class="secondary-color"> <i class="fa fa-angle-up"></i> </a> <script type="text/javascript" src="/wp-content/themes/covernews/js/navigation.js" id="covernews-navigation-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/js/skip-link-focus-fix.js" id="covernews-skip-link-focus-fix-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/slick/js/slick.min.js" id="slick-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/bootstrap/js/bootstrap.min.js" id="bootstrap-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/jquery-match-height/jquery.matchHeight.min.js" id="matchheight-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/marquee/jquery.marquee.js" id="marquee-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/script.js" id="covernews-script-js"></script> <script type="text/javascript" src="/wp-content/themes/covernews/assets/fixed-header-script.js" id="covernews-fixed-header-script-js"></script> <script type="text/javascript" id="fifu-image-js-js-extra"> /* <![CDATA[ */ var fifuImageVars = {"fifu_lazy":"","fifu_woo_lbox_enabled":"1","fifu_woo_zoom":"inline","fifu_is_product":"","fifu_is_flatsome_active":"","fifu_rest_url":"https:\/\/southafrica-infoweb.com\/wp-json\/","fifu_nonce":"1955bc8a64"}; /* ]]> */ </script> <script type="text/javascript" src="/wp-content/plugins/featured-image-from-url/includes/html/js/image.js" id="fifu-image-js-js"></script> </body> </html>