とあるIT屋の独白

ITや経営について主に書きます

2022年におけるWebアプリとネイティブアプリの技術に関する考察

Webアプリやネイティブアプリは、技術的に移り変わりが激しいですよね。数年前と今とは状況が違うでしょうし、また数年後も変わってると思います。とはいえ、現時点でこうなっていくんじゃないかという妄想は出来なくはないので、個人的な見解を書いてみたいと思います。
大まかな流れとしては、Webアプリとネイティブアプリは、開発面では近くなっていくというのがあると思います。Webアプリはブラウザの進化で出来ることは増えてるし、ネイティブアプリ側もクロスプラットフォームのツールにて、Web対応していくものが出てきています。詳細について、もう少し書いてみます。

【Webアプリからネイティブアプリへ近づける動き】

Webアプリについては、けっこう前からPWA(Progressive Web Apps)の取り組みが行われていました。ただ、現状でネイティブアプリを置き換えるレベルまで普及はしてない気はします。以下の記事で触れられている通り、iOSでプッシュ通知が対応してないのと、「広告と勘違いするケースも多く,いきなり「インストール」と表示されると不審に思いキャンセルする」というのも要因として挙げられるでしょう。

gihyo.jp

Web系のトピックでいくと、WebAssemblyは最近では、けっこうホットなトピックでしょう。WebAssemblyはJavaScriptの置き換えという意見もありますが、個人的にはまだ先の話かなとは感じます。直近だと、現状のWebアプリの補完的な役割で、ネイティブでしか実現できなかったことが、実現できるような世界観になるかなと、考えています。

jp.quora.com


【ネイティブアプリからWebアプリへ近づける動き】

個人的にはネイティブアプリの開発界隈で、最もホットなトピックの一つが、クロスプラットフォーム開発と考えています。少し前なら、クロスプラットフォームはあまり実用的ではなく、普通にネイティブで実装したほうが速いという雰囲気はありましたが、ここ最近では運用の事例も増えてきたなとは感じます。
クロスプラットフォームツールにおいては、最近はWebアプリへの対応も積極的に行われてると感じます。例えばFlutterではバージョン2から、Webへの正式対応を行っています。下記の記事にあるように、ネイティブアプリ開発をFlutterに寄せていくと同時に、Webの開発もまかなうという動きも出てくることは考えられます。

codezine.jp

ReactNativeにおいては、Flutterに先んじてWeb対応をしていました。こちらはWebフレームワークのReactが元々あったことから、Webとネイティブで相互利用ができるような仕掛けが入っています。もちろん、まだまだ課題はあると思いますが、今後も双方を近づけるような機能が追加されていくことは十分考えられます。

mo-gu-mo-gu.com

 

さて、ネイティブアプリとなるとアプリストアの存在は切り離せないでしょう。今後Webの技術に近づく動きは考えられるものの、セキュリティや品質をどう担保するかという課題はあると思います。その点において、アプリストアの果たす役割はまだまだ大きいと感じます。

k-tai.watch.impress.co.jp


おそらくWebアプリもネイティブアプリも、現状の開発からまた変わっていく気はしますが、それによってアプリストアの形も変わるかもしれません。ただ、セキュリティや品質を担保したいニーズは必ずあると思うので、アプリストア自体がなくなるということは、直近ではあまりないかなと考えています。

昨今の不正と内部統制について考えてみる

ここ数年で製造業の不正を、ちょくちょく見かけます。少し前だと、日本製鋼所という東証プライムに上場してる会社が、平成10年から検査不正を行っていたという記事がありました。

www.iza.ne.jp


以下はけっこう前の記事ですが、日本製鋼所に限らず、色々な会社で不正が行われています。一社だけが悪いことをしたというよりは、製造業全体でこういったことが半ば当たり前になっている状況かなとは感じます。

monoist.itmedia.co.jp


さて、こういったことが起きないために、日本でも内部統制の導入が2006年頃から進められてきました。通称J-SOXというものですね。
内部統制にあたっては以下の記事にあるような、システムによる対応もかなり行われました。私も昔に業務系のシステムに携わってた時に、内部統制対応にも少し絡んだりしました。内部統制と一口に言っても、業務全般が対象なので、基幹システム含めてどう対応するかというのは、各社苦労してたかなとは感じます。

www.casleyconsulting.co.jp


とは言え、手間をかけて内部統制の仕組みを作ったところで、きちんと運用されるかという問題はあります。実態としては、半ば制度対応としてコンプライアンス強化で導入したものの、運用が形骸化してるという部分はかなりある気はします。
以下は少し古い記事ですが、何かしら不正があっても後で訂正すればいいという、内部統制の運用が軽視されてる感はあります。もちろん、重大な不正は経営陣が把握してるケースがほとんどだと思うので、内部統制とか見せかけでしかない状態の会社もあるでしょう。

yamaguchi-law-office.way-nifty.com


そもそも、内部統制の仕組み自体が効果的なのか、という観点もあります。2006年以降も企業の不祥事とか普通に起きてるし、発覚も内部告発であることも珍しくありません。働いている従業員の考え方も時代によって変わるし、バレなきゃ良いという昔のような考え方は、拒否感が出る人もいるでしょう。
今一度、仕組みや制度にフォーカスするだけではなく、本来的に何が大事なのかという目的意識やマインドの重要性を、考える時期なのかなと感じます。

bizgate.nikkei.co.jp

aikoの花火について個人的な考察

そろそろ、夏も本番になってきましたね。コロナもだいぶ落ち着いて、今年は花火が開催されるところも増えるかもしれません。花火をテーマにしている歌はいくつかありますが、個人的にはaikoさんの花火がけっこう好きです。少し前にYouTubeでもMVがアップされていて、懐かしいなと感じました。
今でこそaikoさんは日本を代表するシンガーとして認知されていますが、彼女がメジャーになったきっかけは花火かなと思います。というわけで、今回はいつもと少し趣向を変えて、この花火について独断と偏見で考察してみたいと思います。

www.youtube.com


この歌の解釈としては、下記の記事にある通り、恋愛感情を持っている自分とそれに否定的な自分の二面性を表現したものになります。MVの中でも否定的なパート、「三角の目をした〜」や「赤や緑の〜」では、aikoさんの髪型が変わってますね。

www.sugar-salt.com


まぁ、人間は多重人格とはいかないものの、ある程度の多面性は持っているものだし、自分のやってることを否定的に感じるということは、多くの人が経験があると思います。とはいえ、解釈としてこれだけではあまり面白くないので、もうちょっと独自の視点で見てみたいと思います。

歌詞にもある「三角の目」や「三角の耳」についてですが、なぜ三角なのでしょうか。もちろん、なんとなく三角っていうのはあると思いますが、個人的にパッと思いついたのは、「アイ・オブ・プロビデン」です。

zocalo.jp


「アイ・オブ・プロビデン」は見たことある人もいると思いますが、キリスト教における意匠で、フリーメイソンの象徴としても使われています。いわゆる神の目ですね。歌詞中に出てくる否定的なパートは、ある種の神のお告げ的なものとしても解釈できるかなと、個人的には感じます。
また、MV中の映像では主にaikoさんが箱の中で踊っている部分が大半になっていますが、なぜ「箱」なのでしょうか。これもキリスト教に関連したものでいくと、箱と言えば「契約の箱」が挙げられるかなと思います。

www.weblio.jp


契約の箱とは「その箱が運ばれる所に神が現れる」ものであって、MV中の箱を契約の箱と仮定すると、まさに神が降りている様が表現されている、という解釈はできるかなと感じます。

この解釈を前提とすると、神は自分のやってることにある種の否定的な立場をとっています。もちろん、そのような否定的な視点を持つことは極めて大事なのですが、では神の視点から否定されたらそれを止めてしまうのかという話になってしまいます。それが自分の進むべき道として真っ当と判断できるなら、ある程度辛くてもその道は模索するべきかなと私は感じます。
花火の歌詞中にもある「疲れてるんならやめれば」と言われてやめるくらいなら、それまでのものだったのかなと思います。逆にこういった否定的な視点を踏まえて、なおそれがやりたいこととして続けるべきものであれば進むべきというのが、この歌の言いたいことなのではないかと、私は考えました。

さて夏の星座と言えば、代表的なものの一つに「はくちょう座」が挙げられます。はくちょう座は、レダという王妃に近づくために、ゼウスが変身した姿と言われています。結局、神であっても、こういう脇道に逸れることをやらかしてしまうので、神も万能な存在ではないのかなと私は感じます。

www.okuminavi.jp

手間がかかる重要な仕事を進める意識

仕事において、手間がかかるものもありますよね。手間がかかるものが重要であっても、ついつい簡単に済ませられるものを、先にやってしまいがちです。もちろん、以下の記事のように優先度を明確にして、手がかかるものを半ば強制的に進めるよう、意識させることは不可能ではないですが。

style.nikkei.com


手間がかかる仕事と言っても、個人的には2種類あると思ってます。一つ目は純粋に作業の時間がかかるもの、二つ目は人との調整が多く発生するものと考えています。どちらのケースであっても、進め方を周囲に相談するということが、第一歩目だと私は思います。どう進めるべきか、相談する相手がいないのはやはり辛くなるだろうし、一人で力尽くで進めるのもやはりしんどい部分はあるでしょう。
周囲の環境改善で対応できる案としては、下記の記事に挙げられている「少人数ミーティング」の取り組みです。意思決定を全て定例会議とかで行うのは、やはりストレスがたまることもあるだろうし、そもそもみんながいる場で相談しにくいということもあるでしょう。細めに少人数ミーティングが行える状況なら、相談もしやすくなるだろうし、スピード感もある程度は上がるだろうなとは感じます。

diamond.jp


この少人数ミーティングを実現するには、そのミーティング参加者への権限移譲と責任を持つという意識が、大事と感じます。もちろん全員参加で決めるべきことがあるのはそうですが、全部が全部を全員参加で決めるべきとは思わないし、ある程度は「自分達で決める」ということも、責任を持って進める上では必要と考えています。
とは言え、いきなり決めろと言われても困ると言えば困るので、決めるための道筋みたいなのは共通認識としてあった方がベターと感じます。以下は日立の川村元社長の記事で、川村さんと言えばM&Aを押し進めた人というイメージはありますが、方針を大きく変える際のコンセンサスは重要視していたそう。ある程度の共通認識がベースにないと、責任を持って進めるのにやはり支障が出るだろうと思うし、この共通認識がメンバーが自律的に行動する第一歩かもなとは感じました。

toyokeizai.net

2022年時点のリコーの事業方針について考えてみる

少し前ですが、リコーがHHKBを製造しているPFUを買収したのは、少し驚きましたね。エンジニアにとってはHHKBはなじみ深いものですが、リコーが買収した目的はHHKBではなく、スキャンの事業と言われています。

it.impress.co.jp


というわけで、今回はPFUのスキャン事業をリコーが欲しがった、事業的背景的なのを少し書いてみたいと思います。
リコーと言うと、個人的には営業が強い会社という印象があります。昔は地方ごとに販社があって、2010年に統合したのですが当時でも310の拠点数があったりします。実は私も昔に就活をやってた時に、受けたことがあります。(明らかに営業が向いてないのでもちろん落ちましたが・・)

enterprise.watch.impress.co.jp


リコーの対象顧客としては、中小企業がかなり多い気はしています。営業が元々強いことがあって、事務機器についてはかなりの顧客に導入した実績があると思います。今後も中小企業をターゲットとしていく中で、事務機器だけでは厳しそうというのはあると思います。以下の記事にあるような、IT関連のサービスにシフトしていく動きはあるでしょう。

newswitch.jp


とはいえ、既存で導入した事務機器をやめてIT化しませんかという提案は、売上が増えていかないリスクは想定されます。そこで考えられるのは、事務機器とスキャンで組み合わせてIT化を進める、という方針になると思います。なので、PFUを買収したのはかなり合理性はあるかなと感じました。
加えて発表されたのが、kintoneとの協業です。kintoneはIT化にそれなりに取り組んでいる企業には、そこそこ認知されてる状況でしょう。

cloud.watch.impress.co.jp


ただkintoneは、リコーが事務機器を販売してる層(IT化が進んでない)には、アプローチはまだ出来ていない状況とみられます。kintoneは非エンジニアでも使えるという思想ですが、ある程度そういった層にはやはりサポートが必要かなと感じます。リコーのように人的リソースがある会社が販売するのは、方針としては良いかなという気はします。
最終的には事務機器→スキャン→kintoneへのデータ化というのが、目指す形になるかなと思います。

サーバサイドTypeScriptの実用について考えてみる

個人的な感覚ですが、ここ最近はサーバサイドTypeScriptが実用で採用されるのが、そこまで珍しくなくなってる気がします。下記の記事にある通り、フロントと言語を合わせたいよねというのと、フレームワークがかなり整備されてきた、というのがあるかなと考えています。もちろんTypeScriptの型機能自体が、他のサーバサイドの言語と比べても劣ることが無くなってきてるというのもあると思います。

kakehashi-dev.hatenablog.com


サーバサイドでJavaScriptを動かすとなるとNode.jsの基盤が、現時点でもファーストチョイスとなるでしょう。Node.js自体は十数年前に開発されて、当初は以下の記事にある通りやはり諸々課題が多いなという印象でした。

qiita.com


とは言え開発から十数年前経った今では、かなりバグも減ってきたと感じますし、ナレッジも色々出てくるようになりました。Node.jsについては、以下の記事にある通り適切に使えば大量のリクエストを捌くことが可能であり、パフォーマンスの点でも懸念は少ないかなと思います。(もちろんCPUリソースを食うような処理は、得意ではないですが・・)

knowledge.sakura.ad.jp


実用としてはKARTEのサービスではNode.jsが使われていて、課題はありつつも運用実績がある点は大きいかなと思います。

tech.plaid.co.jp


では、サーバサイドTypeScriptではどういった実装になるかというのも、NestJSを中心に軽く紹介したいと思います。

まずはNestJSについてですが、TypeScriptのフレームワークとしてはファーストチョイスになるかなという感触です。もちろん、そんなに機能はいらんということであればexpressで全然良いと思いますが、フレームワークにある機能を積極的に利用したい場合はNestJSは悪くない選択と考えます。

zenn.dev

 

TypeORMと組み合わせることで、CRUD周りはけっこう生産性高く実装できるかなという印象はあります。

qiita.com

 

認証周りも、以下にJWTを使った例がありますが、良さげな気はしますね。

zenn.dev

 

もちろんNestJSは他にも機能がありますが、けっこう情報も出てきているかなと感じるので、開発に困るということが以前よりは少ないかなとは思います。

いじめの問題について少し考察してみる

少し前ですが、新潟で中学生が自殺したという事件がありました。おそらく原因はいじめだろうと思われます。確たる証拠があるわけではないようですが。
ただ、証拠が無いからいじめと自殺は因果関係が無いと結論付けるのは、すごく簡単なことです。

newsdig.tbs.co.jp


個人的にはこれは思考停止だと思うし、大人がこういう思考停止的なことをしてしまうのは、非常に危険と考えています。証拠が無いからいじめと自殺は関係無いというのはある種の決めつけであって、本来的には集められる情報で色々な可能性を推測しないと、実体には近付けないと感じます。もちろん裁判ではないので、加害者と思われる人に罰を与える目的ではなく、こういう可能性も考えられるから今後こういう対処も必要だみたいな、再発防止のためにどのような対応が考えられるかは、思考しないといけないと感じます。
こういった決めつけるような行為は、教育にも悪影響を与えると私は思います。少し極端ではありますが、下記の記事にあるような例えば「男なら運動が好きなはず」という決めつけが、子供のメンタルや行動に影響をおよぼすことはありうるでしょう。

beauty.oricon.co.jp


少し話は変わりますが、どのような状態の時に、人が仲が悪いといえると考えられるのでしょうか。もちろん、人によって意見は違うとは思いますが、個人的には下記の記事にある、「判断基準をすり合わせられないこと」が要因として大きなものであると考えてます。

anatanoa.blogspot.com


判断基準をすり合わせられないというのは、コミュニケーションが成立しないということに等しいと思います。子供だと、この成立しないことがストレスで、いじめにエスカレートしてしまうことは往々にしてありそうです。
とはいえ、人によって考え方やバックグラウンド等もちろん違うので、判断基準をすり合わせられないことなんて全然ありうることでしょう。いじめをゼロにするというのは、私はあまり現実的ではない気はしています。だから、いざこのような状況になってしまった時のために、下記の記事にあるように、大人が逃げ場を用意してあげることは、極めて大事なのではと考えています。

rebirthink.jp


どこかのYouTuberが言うような、学校に行かなくても良いというわけではありません。基本的には行くべきだと思うけど、仲の悪さが解消せず、いじめに発展してしまうレベルまで行き着いてしまったら、学校に行くより大事なものを失うリスクがあるということです。
大人も子供も「こうあるべきでなければいけない」という二元論的な思考から、時には少し離れて考えることは大事と思います。あるべきと今の状況を整理して、じゃあ取りうる選択として現状何がベターなのか、これを考える姿勢が教育において大事な気はしています。