「当社のウェブサイトをご覧ください」というフレーズは、どのプレスリリースにも、記事やホワイトペーパーの最後にも見られる。ウェブサイトは、製品、サービス、レジャー、ニュース、教育など、あらゆることについて一般の人々に情報を提供する主要な媒体となっている。しかし、ウェブサイトの使命を果たすために、開発者はウェブサイトの訪問者、ツール、バックエンド・アプリケーションのデプロイメントをよく理解する必要がある。
この記事では、ユーザビリティとアクセシビリティを深く理解すること、つまりユーザ体験(UX)を理解することがなぜ重要なのか、さらに、ウェブサイトを構築するために使用するツールの影響を理解し、アプリケーションをサーバーに効率的にデプロイすることがなぜ重要なのかを説明します。
ウェブサイトをより見やすく、ナビゲートしやすくするために、情報表示における革新的な情報を常に入手しましょう。訪問者が信頼でき、機敏で効率的な方法でコンテンツをナビゲートできるようなウェブサイトの構造を作ることは、ウェブ開発者の責任です。
成功しているウェブデザインの要素の例は、トピックに関する最も人気のある質問の簡単な要約を表示するアコーディオンです。訪問者が要約をクリックすると、より詳しい説明に展開されます。この要素は、ほとんどの訪問者が興味を持つコンテンツを簡潔に表示し、ナビゲーションをより使いやすくします。アコーディオンは、訪問者が別の要素を開いたときに、開いている要素が折りたたまれるとより効果的です。アコーディオンは、スクロールを減らすことができるので、携帯電話でウェブサイトを訪問する最近の多くの訪問者に特に適しています。
アメリカの「障害者アメリカ人法」やEUの「欧州アクセシビリティ法」などの規制によってアクセシビリティが求められているにもかかわらず、また、W3C(World Wide Web Consortium)がアクセシビリティのための正確なガイドライン(https://www.w3.org/WAI/standards-guidelines/wcag/)を提供しているにもかかわらず、今日のほとんどのウェブサイトは、すべての訪問者にとってアクセシブルではありません。
ウェブサイトはいまだに、そこに表示される活字と十分に区別できない背景を載せたり、説明のテキストが添付されていないグラフィックで重要な機能を提供している。このようなサイトは、画面拡大読書器、スクリーン・リーダー、音声認識などの支援技術を必要とする訪問者にとって、うまく機能しない。また、多くのサイトはレスポンシブに対応していない。つまり、訪問者の画面サイズに対応していない。また、合法的な支払い方法をすべてサポートしていないサイトもあります。
このようなユーザビリティの問題は、たとえコンテンツ管理システムDrupalやWordPressを使用し、ユーザー体験を作り出すテーマに依存していたとしても、多くのサイトを悩ませている。障害のあるユーザー(目の不自由な人、マウス操作が困難な人など)のニーズに対応することは、通常、他の訪問者にとってもより良いユーザー体験を提供することになることに留意すべきです。
パフォーマンスもウェブ開発者としての責任です。ウェブサイトには、インターネットアクセスが遅い人々のニーズを尊重しない大きなグラフィックが含まれていることがよくあります。また、人気のあるウェブモジュールの中には、機能を優先し、あなたのサイトでは使わないかもしれないあらゆる種類のプログラミングコードでサイトに負荷をかけることで、パフォーマンスの問題を引き起こしているものもあります。モジュールを使う前に、そのモジュールのセキュリティ記録、動作、パフォーマンスへの潜在的な影響を調べてください、
しかし、あまりにも多くの開発者が、オフィスや自宅の高速インターネット接続でブラウザにページが素早く読み込まれるから、パフォーマンスは問題ないと思い込んでいます。
ユーザーエクスペリエンスだけが研究の対象ではない。ウェブ開発者は、自分のコードを組織に統合する方法についても考えなければならない。
他のプロジェクトに影響を与えない方法でアプリケーションをデプロイすることが重要です。私がウェブ開発を始めたとき、私の作業環境はLinuxシステムの仮想サーバー上でした。ひとつのディレクトリには、引退したものも含めて、開発したすべてのプロジェクトが格納されていました。
これらのプロジェクトはシステム・リソースを共有していた。そのため、ウェブサイトの更新が必要になると、他のプロジェクトにも影響が及んでいた。
そこで私は、別のソリューションを調査し、導入する必要性を感じたのです。私はコンテナ管理システムDockerを選び、私のコードを独立したコンテナに入れた。この変更により、データベース・エンジン、ウェブ・サーバー、インタープリターの特定のバージョンなど、各プロジェクトの正確な要件を設定できるようになった。
デプロイオプションを模索している間に、バージョン管理ツールのGitのような他のコラボレーションツールを発見した。バージョン管理は、更新が必要な他のプロジェクトと同様、ウェブ開発でも非常に便利だ。Gitを使うことで、自分の作業を他の開発者と共有できるようになった。
Linux Professional Institute (LPI)のWeb Development Essentialsプログラムのようなリソースは、HTML、JavaScript、CSS、SQLのような重要なツールの基本的な知識を習得する機会をウェブ開発者に提供しています。
このプログラムを修了することで得られる実践的な経験は、ウェブベースのソフトウェア開発という素晴らしい世界に足を踏み入れ、私たちが毎日使っているシステム、アプリケーション、ウェブサイトの仕組みを理解し、組織や個人のプロジェクトのために独自のソリューションをどのように作成できるかを少しずつ発見することを可能にします。
要約すると、ウェブ開発者としての私たちの仕事は、ウェブサイトを制作することに加えて、研究、テスト、革新、そして特にプログラミングのこうした他の側面を楽しむことに重点を置いています。ソースコードを書くだけでなく、私たちの仕事に対する幅広いアプローチによって、エンドユーザーの情報アクセス体験を向上させることができます。