エンジニアに限りませんが、スキルを磨いて自分が対応できる領域を広げていくことは欠かせません。
Webエンジニアでいえば、プログラミング言語を広げることもそうですが、それよりもサーバーサイド、クライアントサイドのどの技術を身につけるのかを意識して取り組むことが大事になります。
サーバーサイドは、Webサイトのベースになるものですが、PHP/Ruby/Python/Javaなどさまざまな言語で記述されます。
言語によって利用するフレームワークが違いますので、それらを習得することも大事です。
そしてユーザーごとに機能を提供するには、DBを使うことも欠かせません。
そして、クライアント側はPCブラウザを使ったものの他に、今はスマホ対応が必須になっています。
単にPC対応のWebサイトをレスポンシブでスマホ対応するということだけでなく、より使いやすくするためにスマホアプリにした方が良い場合も多くなっています。
プッシュ通知も欠かせませんので、そのための技術も必要です。
最近は人工知能を組み合わせたり、データ分析も欠かせません。
そういったことを考えてスキルアップをしていきましょう。
Webサービスはスマホ対応が必須
言うまでもなく、今はどんなWebサービスを作ってもスマホ対応が求められます。
グーグルがモバイルファーストを打ち出していますし、スマホ対応していないサイトは評価が低くなります。
グーグルの評価が高い低いということよりも何より、ユーザーが圧倒的にスマホからアクセスするので、スマホ対応していなければ見てももらえない、ということになりかねないのです。
ですから、最初の計画段階からスマホを意識しておかないといけません。
反対にスマホしか対応していないサービスも少なくないのです。
アルバムが毎月1冊無料で作れるノハナやメルカリなどがそうです。
サービスの種類によってはPCから操作できた方が便利なときもあるのですが、そのために新たにPC版を作っても思ったほど使われないというのが現状なのです。
だからスマホ対応をまず考えるというのが得策なのです。
スマホアプリにするかどうかの分かれ目
スマホ対応するときに、ブラウザでスマホ用の画面を作る方法と、専用のアプリを作る方法があります。
ブラウザでスマホ用の画面を作る場合、「レスポンシブ対応」が最も良く使われることになります。
レスポンシブ対応とは、PCとスマホ画面で共通のWeb表示になるように作るのですが、見る端末によって見やすくなるレイアウトにする方式のことです。
しかし、ブラウザで対応する場合、サービスを利用するためにURLを打ち込んでサイトを開くことが必要になります。
ログインが必要なサービスならログインもしなければなりません。
スマホ上にショートカットを作ってワンタッチでサービスを開いたり、ログインのIDとパスワードもブラウザに覚えさせられますが、そのワンクッションが面倒くさいです。
それからブラウザだけで表現できることには一定の限界がありますから、操作性をあまり高くできないということもデメリットと言えます。
その辺の不便さを解消する方法がスマホのアプリかをすることなのです。
どこまでユーザーに利便性を提供するかで、スマホアプリ化するかどうかの分かれ目と言えます。
スマホアプリのメリットは自由度と通知
スマホアプリにすれば、そのサービス専用のアプリとして開発しますので、ユーザーはURLなどを気にすることなく、アプリをダウンロードしてすぐに使えるというのがメリットです。
操作性は自由に作ることができますので、使い勝手の良いアプリにすることもできます。
そして忘れてはならないのが「通知機能」です。
スマホのアプリにする最大のメリットと言ってもいいのが通知なのです。
通知することによって、アプリを使うことを促したり、大事なお知らせをしたり、アプリを活用してもらうようにユーザーに案内することができるのです。
スマホを使う場合のメリットで最も活用したいのが通知と言えるくらいです。
通知があることによって、人はわざわざ見に行くのではなく、通知が来たら行動すればいいので、通知機能を利用することはとても時間の短縮や忘れ防止に有効なのです。
アプリにすることによってこのような便利さを提供し、利用される頻度を高めることができるのです。
スマホアプリはサーバーとの連携が不可欠
このように、スマホアプリは便利さを提供するとても有効なものなのですが、開発するのは結構たいへんです。
ブラウザで作る場合は、ブラウザでの表示だけを考えればいいし、そのためのHTML/CSS/JavaScriptはすでに確立された技術です。
ところがスマホアプリを作るには、画面構成をどうするかということだけじゃなく、サーバーとアプリの通信の設計が求められます。
ユーザーごとにカスタマイズするためには、個人のデータをサーバーに持つ方式になりますから、サーバーからデータを受信して表示するのです。
このとき、通信速度の速いスマホや遅いスマホがありますので、遅いスマホでも問題なく動作するように設計しないといけないのです。
こういったことは、アプリごとに最適化設計をしなければならないのです。
そして、スマホアプリにはiOSとアンドロイドがあります。※その他はシェアが小さいので割愛します。
この2つは開発言語が異なります。
iOSはSwift(以前はObjective-C)、アンドロイドはJavaなのです。
両方開発できればいいですが、それは難しいとなるとどちらか1つを選択することになります。
そういったことを考えながらどの領域のスキルを高めていくのか、戦略的に進めていかないといけないのです。