タグ

2024年12月20日のブックマーク (3件)

  • モバイルUI構造の4段活用|usagimaru

    モバイルUIのデザインでは、4段階の拡張を意識して、なるべくシンプルな形から計画的に構造を作る方針をとることが効果的です。私はこれを「モバイルUI構造の4段活用」と呼び、構造設計の指標の一つとしています。 モバイルUIはフォームファクタの都合上、物理的な制限の力が強く働くため、デザインではなるべく情報量を少なく抑える工夫が求められます。もちろん、どのようなデザインでも「シンプルに保つ」ことは原則的に同じだと思いますが、モバイルUIの場合はより顕著になるはずです。そのような環境に向けて最初からいきなり膨大な情報を複雑なナビゲーションで扱うようなUIを作ってしまうと、その後の機能拡張が難しくなりますし、小さい画面の中で大量の情報をあちこち行き来しながら触れることになるので、普通に使いづらくなります。 情報を増やす/減らすという観点に限れば、初めから情報量を不必要に増やさないよう努力することも、

    モバイルUI構造の4段活用|usagimaru
  • [要注意] StrictConcurrencyを有効化するだけでprotocolの関数が呼ばれなくなることがある

    はじめに Swift 6が正式にリリースされ、みなさんのプロジェクトでも少しずつ対応が進み始めていることと思います。 今回この記事では、実際に自分が体験したStrictConcurrencyを有効化するだけで、protocolの関数が呼ばれなくなる怪現象を共有します。 再現環境 以下のようなprotocolとその実装を考えます。 @objc @MainActor public protocol FooDelegate: AnyObject { @objc optional func doSomething(_ completion: @escaping @MainActor () -> Void) } @MainActor class FooImplement: NSObject, FooDelegate { var isCalled = false func doSomething(_

    [要注意] StrictConcurrencyを有効化するだけでprotocolの関数が呼ばれなくなることがある
  • Swiftコンパイラ開発入門

    背景 SwiftコンパイラがOSSになってから随分と年月が経ち改善が進んだことで、コンパイラ開発に参加しやすくなってきています。一方で、開発チームが多忙なためなのか、issueを報告しても対応されない状況が続いています。そのため、Swiftユーザが自らパッチを提出する必要性が高まっています。 想定読者 そこでこの記事では、一般的なSwiftユーザの方向けに、Swiftコンパイラの開発を始めるためのノウハウや手順を解説します。こうすることで読者が自らパッチを提出できるようになり、Swiftコンパイラの改善が加速するでしょう。そして、全てのSwiftユーザがその恩恵を受けることでしょう。 なお、マシンはほどほどのスペックのmacを前提とします。また、Apple Siliconを推奨し、記事中ではそれを前提とします。Intelの方は適宜読み替えてください。 手元の環境構築 まずは手元のマシンの環

    Swiftコンパイラ開発入門