先見性にも注目する司会者:エアークロゼットさんはどんな感じですか?松本:ものすごく簡単に言うと、ある程度GitHubのスター数とかは見ます。リリース頻度も見ます。あと、先見性はけっこう大切だと思っています。最近だと、Reactのカンファレンスが先月末にあって、そこで注目を浴びていたのが「Hooks」という機能だったんです。Componentsと呼ばれていた関数、要はクラスを使わないでコンポーネントを定義する方法は、「ステート使えないよ」「ライフサイクルメソッドを使えないよ」という制約があったりして、結果としてクラスを書かなきゃいけなということがあったんです。それでも「SFC使いたいね」という中で、recomposeに派生してきたという流れがあったり、データフローで「基本的にContextがイケていないからRedux入れるんだ」ということもありました。Hooksの機能の中にuseState、useReducer、useContext、useEffectという機能が入りました。components、Hooksを使った場合は、もはやステートを持っています。componentsと言うんですが、今後それが主流になってくるという動向を見ながら、「Redux使おうかな」みたいに悩むことで、ちゃんと正しい選択ができるかが技術選定の方法になると思う時もあります。司会者:ありがとうございます。Reactの話が出てきたので、自分的にもすごく気になる質問をします。「ReactとVueについて、1〜2年後の盛り上がりは?」というのと、「また、それ以外の技術(の盛り上がり)は?」ということで、ここはかなり見解が分かれるかもしれません。LIGさんはNuxtを使っていたり、千葉さんとかはNextを使っていたりしますが、この2つは比較対象によく挙げられますよね。「ぶっちゃけ、1〜2年後どうなってる?」というところで、本音を聞きたいなと思っています。ここは思いついた人から挙手制でいきましょう。Componentsなど、もう少しWeb標準に沿ったコンポーネントを設計できて、もっと知見を貯められるようなアプリケーションづくりができるといいなと思っています。Componentsをどこかで入れたいなと考えているんですが、まだPolyfillを使っていたり、Polymerを使わないとそもそも動かない機能がいっぱいあったりするので、そこらへんはまだわかりません。ReactとVueは、「まぁ残ってるんじゃないかな?」ぐらいしか言いようがないです。弊社もReactとかは3年前に運用しているので、1〜2年でなくなるような技術ではないんじゃないかという気はしています。千葉:どうですか、みなさん?司会者:みんなめっちゃ頷いてる(笑)。千葉:えー、同感?(笑)。土屋:先を見るセンスが問われているような気がして、答えるのもちょっと怖いんですけど(笑)。本当に同感で、シンプルに答えると「残っているんじゃないか」「まだ使われているんじゃないかな」という印象です。Web標準の仕様を、もう少し取り込んでくるんじゃないかと思います。Componentsで書ける」みたいなこともあるんですかね。Componentsは、ある程度使えると思うので、今日(来ている人の中で)やられている方も実はいらっしゃるんじゃないかなと思っています。そこは難しいところですよね。ユーザーさんに届ける側なので、「下手なことはできない」というところと、「試してみたい」というところのせめぎ合いになります。心理戦?(笑)土屋:ブラウザの対応状況とかも関係しますよね。千葉:それもあります。Components自体が耐えられるのかとか、いろんなところでまだ心配なことはあります。Componentsの仕様だけでは実現できないところを、ReactやVueの周辺機能が持っていたりするじゃないですか。いう意味ではまだ使われているかな、という予想です。実践かどうかはわからないんですが、最近サーバサイドの言語もフロントでできるように、WebAssemblyという技術があるので、2〜3年後には、JSを書かなくてもDOMの整形ができたりする技術が、ひょっとしたら生まれてるかもしれないですよね。そこらへんはわからないのと、実践に耐えてるサービスをあまり聞いたことがないので、なんとも言えない感じです。プロダクトによる技術の棲み分け松本:僕もおっしゃられたとおりだと思います。標準化するかがキーになってくると思います。結局ブラウザがプラットフォームの中で動く以上、ブラウザの仕様には抗えないというところがあるので、そこがどこまで盛り上がってきて、僕らがどこまで保守するかという感じもします。React・Vueに関して、僕が思っていることとしては、今の人気から見ると1〜2年後はぜんぜん大丈夫だと思います。Reactの伸びがすごかったんですけど、最近はVueの伸びもかなり上がってきていて、僕自身はReact信者なんですが、Vueのほうが盛り上がるかなと思ったりしています。いえ、たぶん好き層というか、信者層というのは違ってくるかなと思っていて、ReactはVueと比べるとけっこう固いんですよね。Vueは柔軟な書き方ができたりするので、わりとRubyライクな感じなのに対して、ReactはけっこうJavaライクな感じで、もう固く書くしかないというところで、たぶん棲み分けができてくるのかなと思います。長期的に保守やメンテを考えていくと、たぶんReactに軍配が上がるものの、Vueのほうが開発速度とかは速いよねという感じで、棲み分けられるのかなと。司会者:Vueはデザイナーからフロントエンドに転身した方とかも入りやすくて、適度なハードルの低さだと個人的には思います。Reactのほうがハードルが高いイメージがあるんですけが、そこらへんはどうですか?松本:それはおっしゃるとおりだと思います。絶対Vueのほうがとっつきやすいし、書きやすいと思います。Reactは決まった書き方をしないといけないので、保守性では優れていると思います。司会者:プロダクトの性質やチーム体制、開発するものの規模だったりで、いい具合に棲み分けしていく感じですかね。松本:そんな感じはあります。個人的な意見としては、好きなものを使ったらいいんじゃないかなと(笑)。司会者:確かにそれにかぎりますね。ありがとうございます。Nativeの話がでていたので、Webアプリやネイティブアプリ、あとPWAとかの話も聞きたかったんですが、ここらへんは交流会でお話できたらと思います。フロントエンドのこれから司会者:最後に、「今後のフロントエンドの変化」についてお聞きしたいと思います。技術的なところもですが、「エンジニアの担当領域がどうなっていくのか」「拡大するならどういった領域がスキルとして求められるか」というところをお聞きしたいです。挙手制でお願いします。岡澤伸也氏(以下、岡澤):じゃあ、僕から話します。そんな大それたことは言わないですが、「社内は社会の縮図」と、僕は......。(一同笑)僕なんかもそうですが、「フロントエンド」という名でやっているんですけど、ちょっとPHPを触ったりしていて、フロントエンドとバックエンドの領域がどんどんフラットになってきているというか、そこの領域を踏み越えて、やっている人が増えてきているなというのは実際に感じています。それはジェネラリストという道で、1つの道としてあるんじゃないかなと思うんですが、Web製作の現場で言うと、先ほどの実績でも紹介しましたが、WebGLであったり、描画系の技術を使う場面があります。Developer」という呼び方が、海外では出てきています。スペシャリストはいろんな道がこれからできていくんじゃないかなと、僕は勝手に思っています。司会者:ほかの方はどうですか?松本:フロントエンドの変化についてだと、「画面を作らなくてよくなるんじゃない?」ということは思っています。Native版が落とせるのもあるんですけど、そこで落とされるコードは、「そのまま貼りつけたら全部absoluteになる」みたいな、ちょっとやばいやつなので使えないんですが、今後そういうのもGUIでできるようになるんじゃないかと思います。あと、今のWebってJavaScriptが王位につくじゃないけど、基本的にJavaScriptからは逃げられない世界じゃないですか。いったところで、たぶんAssemblyの話とかがあったりして、新しい技術がどんどん標準的に取り入れられるようになってくると、後発でJavaScriptじゃない、なにか新しいものに置き換わっていくと、うれしく思います。僕は新しいものを触るのは好きなので、そういうのはぜんぜんウェルカムで、そうなるとまた一層盛り上がるし、おもしろいし、できることも増えてくるかなと。最近だと正直、ReactとかVueとかES6は書けて当たり前みたいな雰囲気なので、それらの技術をどうプロダクトに落とし込めるかとか、そういうことが求められる。モーション系だったらWebGLがいいのか、Canvasなのかとか、そういう判断がちゃんとできる人のほうが重宝される気がします。僕はデザイナーから(エンジニアに)なって、去年はインフラとかを触っていたんですが、けっこうWebの低レイヤーのことを知っているだけで、だいぶ職種の幅が広がる。広げたくない人もいらっしゃるかもしれないんですが、いろんな人としゃべれるようになります。「マークアップだけに突出してました」という人が、ネットワークやWebアプリケーションがどうできていくかという低い部分を知っていると、自分のアイデアとかをいろんな人と話せたり、「別にここはフロントでやらなくてもよくない?」「もっと楽してえな」みたいなことも思えるようになります。伸ばしたい部分と、Webに従事していく上での絶対普遍的な技術というのが、いまだにあると思うので、その両方をちゃんと押さえると、自分のやりたいようにできると勝手に思っています。司会者:ありがとうございます。コーダーはいなくなる?土屋:僕も先ほどの話と同じで、マークアップはだんだん人がやらなくていいようになるんじゃないかと思っています。今までコーダーと呼ばれていたような職業の人は、それだけでは生きていけなくなるんじゃないかぐらいに想像しています。バックエンドと言えるようなところまで踏み込んでいったり、デザインに関わっていくみたいな関わり方をしていかないと、もうHTML/CSSを書くというようなところは、どんどん人の仕事じゃなくなっていくんだろうなと感じています。書くんだろうなとは思います。全てを機械に任せると「全部absolute」みたいな、すごいものが出てきたりするので(笑)。完全に人の仕事でなくなるまでにはまだ時間がありそうですが、きっとその流れは止まらないと思うので、ちょっとマイナスな言い方かもしれませんが、「生き残り方」みたいなことを考え始めたりしています。司会者:ありがとうございました。時間が来てしまったので、パネルディスカッションを終わりにしようと思います。聞けなかったことや質問がある方は、ぜひこのあとの交流会でお話してください。meetupに関する記事をまとめています。meetupに関する新着記事が公開された際に、通知を受け取ることができます。