タグ

フロントエンドと設計に関するtjmschkのブックマーク (4)

  • プロダクトのスケールを見据えてServer-Driven UIを採用してみる

    この記事はUbie Engineering Advent Calendar 2023の12日目の記事です。よろしくお願いします。 はじめに Ubieでソフトウェアエンジニアをやっているisseiです。 2021年の3月に入社してから2年程症状検索エンジン「ユビー」の開発をしていましたが、ここ1年くらい新規のプロダクトの検証とそのスケールのための開発をしています。 2023年の前半は、新規のプロダクトの検証を出来るだけ素早く行うため、実装範囲を小さくし、バックエンドの実装も最小限にとどめて、ほとんどの機能をフロントのコードで完結させていたのですが、後半は、前半に検証が終えられたプロダクトのスケールに向けた設計変更と実装の置き換えを行っています。 この記事では、後半で行った設計変更の中で採用した SDUI(Server-Driven UI) がとても良かったので、採用に至った経緯と、実装の概要

    プロダクトのスケールを見据えてServer-Driven UIを採用してみる
  • システムトラブルに強いWebフロントエンドを作る方法

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 初めに こんにちは、Yahoo!知恵袋でシステム開発を担当している村上です。 Yahoo!知恵袋(以下、知恵袋)では利用者の皆さまに快適なサービス体験をしていただくため、日々改善が行われています。しかし、サービスができる事が増える度に、コードベースや連携先が増えていくのは常であり、その変化の影響でシステムトラブルが起きることもあります。 今回は、拡張されていくシステム構成という視点で、万が一のシステムトラブルが発生した時に備えて、被害を最小限にい止める方法を紹介します。 背景 知恵袋では、以下のようなサービス構成を取っています。 フロントエンドシステムは基的にAPIを通じて複数のバックエンドシステムと疎通することでサービスを提

    システムトラブルに強いWebフロントエンドを作る方法
  • 再考: アプリ開発と状態遷移の管理 - ninjinkun's diary

    自分が開発しているLaunchableのWebアプリがローンチされて1年半ほどになる。このWebアプリにはReduxのような状態管理ライブラリを入れないまま開発してきたのだが、今のところ困らずに開発できている。そういえば昔自分は状態管理について何か考えていたような…とブログを掘り起こしてみた。 ninjinkun.hatenablog.com このエントリは2016年にネイティブアプリを対象にして書かれているが、この後自分は2018年ごろにWebフロントエンドに軸足を移し、ネイティブアプリ開発から離れた。なのでこのエントリはWebフロントエンドエンジニア2022年に再考した話になる。 結論としては、当時自分が管理したかった状態のほとんどは現在ApolloClientのキャッシュによって解決されている。 繰り返しになるが、自分が開発しているLaunchableのWebフロントエンドには状態

    再考: アプリ開発と状態遷移の管理 - ninjinkun's diary
  • Webフロントエンドの開発効率を高く保つための考え方

    これまでいろんな現場でWebフロントエンド開発をしてきて、メンテナンスしやすく効率の高いWebフロントエンド開発をする上で重要になる考えが自分なりにまとまってきたので記事にしてみます。 Worse is Betterという考え方 自分が見てきた中でWebフロントエンドの開発効率が落ちてしまう一番の要因は、きれいで理論的には優れているアーキテクチャを構築しようとしてそれ自体がもたらす複雑性を支えきれないというパターンです。 少し前にフロントエンドにClean Architecture(以下CA、あの同心円の図を指すのは誤用に近いですがここではそれに乗ります)を導入する記事が流行ったと思いますがあんな感じです。ああいったクラスベースでDIが重要となる設計手法はサーバーサイドのJavaでSpringを使うのとは違ってReactがサポートしているものではないため、CAの実現自体に高い設計スキルが必

    Webフロントエンドの開発効率を高く保つための考え方
    tjmschk
    tjmschk 2022/01/11
    “プログラミング言語、フレームワーク、ライブラリが想定している書き方のとおりに書く”
  • 1