ホームページ ウェブフロントエンド jsチュートリアル プログレッシブ Web アプリ: Web 開発の未来

プログレッシブ Web アプリ: Web 開発の未来

Sep 05, 2024 am 06:48 AM

Progressive Web apps: O futuro do desenvolvimento web

PWA について話題になっているのは何ですか?

想像してみてください。あなたは地下鉄に乗っていて、携帯電話でウェブサイトにアクセスしようとしましたが、インターネット信号は低下し続けています。イライラしますよね?
ここで、Web 世界のスーパーヒーローである Progressive Web App が登場します。オフラインでも動作し、超高速で読み込まれ、通知も送信されます。それはあなたのウェブサイトにスーパーパワーを与えるようなものです!

PWAの起源

過去 (2015 年など) に戻ってみましょう。選択肢は、Web サイトを構築するか、アプリを構築するかでした。それは自転車か車かを選択するようなものでした。そこで Google の賢い人たちが「なぜ両方もだめなのか?」と考えました。こうして PWA が誕生しました!

最初の PWA を構築しましょう: 冒険の始まり

力を合わせてシンプルな PWA を一緒に構築しましょう。
「悪いジョーク」アプリを作成しましょう。悪いジョークが嫌いな人がいるでしょうか?

パート 1: 基本 - 単純な Web ページ

まず、基本的な HTML を作成しましょう。これは私たちの「バイク」です。動きますが、まだ超強力ではありません。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dad Jokes PWA</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Dad Jokes</h1>
    <p id="joke">Click the button for a dad joke!</p>
    <button id="jokeBtn">Get New Joke</button>
    <script src="app.js"></script>
</body>
</html>
ログイン後にコピー

パート 2: スタイルを追加する - すべての悪いジョークには見栄えが必要だからです。

CSS を少し追加して、アプリケーションをよりエレガントにしてみましょう:

body {
    font-family: Arial, sans-serif;
    text-align: center;
    padding: 20px;
}

#joke {
    margin: 20px 0;
    font-style: italic;
}

button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
}
ログイン後にコピー

パート 3: JavaScript の魔法 = 悪いジョークを要求する

ここで、ちょっとした JavaScript を追加して、ジョークを返す API にリクエストを送信しましょう。

const jokeElement = document.getElementById('joke');
const jokeBtn = document.getElementById('jokeBtn');

async function fetchJoke() {
    try {
        const response = await fetch('https://icanhazdadjoke.com/', {
            headers: {
                'Accept': 'application/json'
            }
        });
        const data = await response.json();
        jokeElement.textContent = data.joke;
    } catch (error) {
        jokeElement.textContent = "Oops! Looks like the joke got stuck in dad's old briefcase.";
    }
}

jokeBtn.addEventListener('click', fetchJoke);

// Faz o request na API quando a página carrega
fetchJoke();
ログイン後にコピー

ステップ 4: PWA への変革 - ほんの少しのスーパーパワー

それでは、通常の Web サイトを PWA に変換しましょう。まず、マニフェスト ファイルが必要です。 「manifest.json:
」という名前のファイルを作成します。

{
    "name": "Dad Jokes PWA",
    "short_name": "DadJokes",
    "start_url": "/",
    "display": "standalone",
    "background_color": "#ffffff",
    "theme_color": "#4285f4",
    "icons": [
        {
            "src": "icon.png",
            "sizes": "192x192",
            "type": "image/png"
        }
    ]
}
ログイン後にコピー

HTML ファイルにマニフェスト リンクを追加することを忘れないでください

<link rel="manifest" href="manifest.json">
ログイン後にコピー

ステップ 5: 秘密のソース: サービス ワーカー

サービス ワーカーは、ウェブの目に見えない小さな執事のようなものです。アセットをキャッシュし、オフラインでも動作します。 service-worker.js:
という名前のファイルを作成します。

const CACHE_NAME = 'dad-jokes-cache-v1';
const urlsToCache = [
    '/',
    '/index.html',
    '/style.css',
    '/app.js',
    '/icon.png'
];

self.addEventListener('install', event => {
    event.waitUntil(
        caches.open(CACHE_NAME)
            .then(cache => cache.addAll(urlsToCache))
    );
});

self.addEventListener('fetch', event => {
    event.respondWith(
        caches.match(event.request)
            .then(response => response || fetch(event.request))
    );
});
ログイン後にコピー

次に、app.js ファイルに Service Worker を登録します

if ('serviceWorker' in navigator) {
    window.addEventListener('load', () => {
        navigator.serviceWorker.register('/service-worker.js')
            .then(registration => console.log('ServiceWorker registered'))
            .catch(error => console.log('ServiceWorker registration failed:', error));
    });
}
ログイン後にコピー

PWA のスーパーパワーをテストする

  • オフライン モード: インターネットをオフにして、ページを更新します。アプリはまだ動作するはずです!
  • インストール プロンプト: サポートされているブラウザでは、PWA をインストールするオプションが表示されます。
  • Lighthouse Audit: Chrome の Lighthouse ツールを使用して、PWA のスーパーパワーをチェックします。

未来は進歩的です

おめでとうございます!最初の PWA を構築しました。まるでお子さんが最初の一歩を踏み出すのを見ているようですね。 (悪い冗談と言えば…)

2024 年に向けて、PWA はさらに強力になっています。デバイスの機能にアクセスし、オフラインで作業し、アプリ ストアの手間をかけずにアプリのようなエクスペリエンスを提供できます。

つまり、次回誰かがウェブサイトかアプリを作成できるか尋ねてきたら、「なぜ両方も作成できないのですか?」と言うことができます。そして、PWA の素晴らしい世界を紹介してください!

クレジット

プログレッシブ Web アプリ: Web 開発の未来、元々は Baransel によって書かれました

この記事をお読みいただきありがとうございます。何か有益な情報を提供できれば幸いです。もしそうなら、この投稿を推薦して♥ボタンをクリックして、より多くの人に見てもらえるととても嬉しいです

以上がプログレッシブ Web アプリ: Web 開発の未来の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScriptとWeb:コア機能とユースケース JavaScriptとWeb:コア機能とユースケース Apr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScript in Action:実際の例とプロジェクト JavaScript in Action:実際の例とプロジェクト Apr 19, 2025 am 12:13 AM

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンの理解:実装の詳細 JavaScriptエンジンの理解:実装の詳細 Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Python vs. JavaScript:コミュニティ、ライブラリ、リソース Python vs. JavaScript:コミュニティ、ライブラリ、リソース Apr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Python vs. JavaScript:開発環境とツール Python vs. JavaScript:開発環境とツール Apr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScript通訳者とコンパイラにおけるC/Cの役割 JavaScript通訳者とコンパイラにおけるC/Cの役割 Apr 20, 2025 am 12:01 AM

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

Python vs. JavaScript:ユースケースとアプリケーションと比較されます Python vs. JavaScript:ユースケースとアプリケーションと比較されます Apr 21, 2025 am 12:01 AM

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

See all articles