Git Product home page Git Product logo

phpwa-doc's Introduction

description
Turn your Symfony App into a Progressive Web App

PHPWA Bundle

PWA Logo

Hi ๐Ÿ‘‹๐Ÿผ,

You're definitely here to learn more about Progressive Web Apps (PWA) and how to integrate them into your Symfony application. If you've landed here thanks to the wheel of fortune, no problem! Let's first explore what a PWA is.

What is a PWA?

Progressive Web Apps are modern web applications that provide a user experience similar to native apps, with the added advantage of being accessible directly from a web browser. Before delving into how to incorporate them into your Symfony application, let's take a closer look at what makes PWAs so compelling and powerful.

PWA benefits

Cost Efficiency and Development:

  • PWAs are generally cheaper to build compared to native apps, saving on development expenses. No need for supporting several languages or platforms.

PWAs enhance the user experience and accessibility:

  • Apps-Like UI and Feel: PWAs provide an app-like user interface and feel, easily installable on users' devices.
  • Offline Capabilities: PWAs function seamlessly offline, ensuring users can access content even without an internet connection.
  • Push Notifications: PWAs support push notifications, enhancing user engagement by keeping them informed.
  • Better and Faster Performance: PWAs deliver better and faster performance, offering a smooth and responsive user experience.

PWAs excel in discoverability and maintenance aspects:

  • SEO Friendly: PWAs are SEO-friendly, making them easily discoverable through search engines.
  • Automatic Updates: PWAs can be set up for automatic updates, ensuring users always have the latest version without manual interventions.

PWAs come with technical advantages for developers:

  • Bypass the App Stores: PWAs can be distributed independently, bypassing the need for app store approval.
  • Device API Access: PWAs have access to device APIs, providing developers with more control and flexibility.
  • Faster Loading Times: PWAs load quickly, contributing to an efficient and responsive user experience.

phpwa-doc's People

Contributors

spomky avatar davidromani avatar tacman avatar gitbook-bot avatar

Stargazers

 avatar Canicio avatar

Watchers

 avatar  avatar  avatar

phpwa-doc's Issues

Clarifiy regex in docs

At first, I thought the regex documentation was wrong, and started to fix it:

| regex | Matches the regex |

  • regex: |/image/.*|
  • regex: {.jp(e)?g$}i
|

Although slash is a common character to use to enclose a regular expression, the examples above show using other characters to avoid needing to escape the slashes in the path. So //articles/./ is the same regex as {/articles/.}. See Regular Expressions for more information. Internally, regeg: maps to new RegExp()

But then when I dug into the code, I see that the new RegExp() format doesn't need the regex to be surrounded. I think this needs to be clearer, especially since when I see something like this:

startsWith: /dashboard
regex: /articles/
regex: |/articles/(\d)+|  # is this valid?

I assume the regex will match any article (without the slashes, since to PHP programmers it will be natural to assume the slashes are necessary for the regex.

workbox.routing.registerRoute(
  new RegExp('{^/products|categories/}')

At the end of my journey down regex lane, here's my trip report:

  • the code currently generates new RegExp('$regexString'), which isn't intuitive to PHP programmers and excludes the ability to use flags.
  • Instead, I think it should generate the regex string itself, which is javascript, e.g. workbox.routing.registerRoute(/products|categories/, ...
  • We could have another matcher, RegExp: that generates what the code currently does, and regex: that generates a javascript regex.

Regardless, the docs should be updated. I'll move my suggestion to an issue in the bundle repo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.