Is it possible to build PWA's with Flask? More specifically, is it possible to register a service worker using Flask template rendering? If so, could anyone give some information on how to go about that or point to some resources? Because I was unable to find anything. Thank you.
Flask is a small and lightweight Python web framework that provides useful tools and features that make creating web applications in Python easier. It gives developers flexibility and is a more accessible framework for new developers since you can build a web application quickly using only a single Python file.
Angular JS is the most popular open source for Progressive web apps. Maintained by Google, developers can easily add functionality to PWA.
App structure
app
static
css
page.css
js
app.js
sw.js
templates
index.html
app.py
app.py
from flask import Flask, render_template, url_for
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return render_template('index.html')
@app.route('/sw.js', methods=['GET'])
def sw():
return app.send_static_file('sw.js')
if __name__=='__main__':
app.run(debug=True)
index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../static/css/page.css">
</head>
<body>
<h1>Hello World!</h1>
</body>
<script type="text/javascript" src="../static/js/app.js"></script>
<script type="text/javascript">
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register("../sw.js").then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
</script>
</html>
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With