web-dev-qa-db-ja.com

独自のフレームワークを作成するべきですか、それともマテリアルデザインのようなオープンソースを利用すべきでしょうか?

私はソフトウェアインテリジェンスを専門とする小さな会社で働いています。独自のフロントエンドフレームワークを持つことで、製品に一貫性を持たせるように説得するのに苦労しています。主要なリーダーの何人かは、予算、リソース、時間を考慮して、マテリアルデザインに精通しています。一部ではありません。彼らは独自のフレームワークを構築したいと考えていますが、最小限の時間で、少ないリソースで、再利用可能なコンポーネントを作成します。

2番目のオプション(独自のフレームワークの作成)を使用する場合、どのテクノロジを使用する必要がありますか。彼らはより多くの時間を投資することを恐れており、それがビジネスに影響を与えるでしょう。一方、彼らは視覚的な署名も作成したいと考えています。

マテリアルデザイン以外に使用できる他のオープンソースフレームワークは何ですか?一部の人々は、お気に入りのコンポーネントを使用してフロントエンドを設計できるBootstrapを提案しました。時間やリソースの面で独自のライブラリを構築するようなものではありません。それは再利用可能なコンポーネントであり、保守が容易でしょうか?

2
Surbhi Tak

ようこそ!迅速、効率的、費用対効果の高い方法で移動するには、Googleマテリアルデザインをガイドとして使用して、コンポーネントの外観と動作についての質問に答えることができます(例:「プライマリアクションボタンを右側に配置する必要がありますか?」)。 BootstrapまたはReactは設計ライブラリのコンポーネントを作成するためのフレームワークです。マテリアルガイドラインへの例外が必要であり、それが問題なければその理由はよく研究され、文書化されています。

A 十分に文書化された設計システム は、開発者からの質問を解決するのに役立ち、ブランディングやその他の要件を設計から取り込むことができます。私は 他の設計システム を調査し、それを利害関係者と共有して、彼らがあなたの会社に適していると考えるものを確認することをお勧めします。

5
Stacy H

それは本当にビジネス要件、予算、リソースに依存します。あなたはそれが小さな会社であると言うことから始めました。フレームワークの構築は、生涯にわたるプロジェクトそのものです。あなたは一度それを構築して完了しません。テクノロジーの進化に合わせて維持および更新する必要があります。一方、既存のフレームワークとライブラリを使用しても、これらのコンポーネントはカスタマイズできるため、一意の署名がないわけではありません。

どちらの方法でも有効ですが、効率、予算、リソース、時間を考慮してください。

3
Mo'ath

いずれにしても、自動的に時間を節約できないことを学びました。レイアウトをカスタマイズして新しい要素を作成する必要はあります。新しい要素を既存の設計システムに組み込むには、最初から要素を作成するのと同じくらいの時間がかかります。それは本当にあなたのチームの経験に依存します。デザイナーと開発者]、そして彼らが何に慣れているか。

1

ソフトウェアインテリジェンスを使用している場合は、Palantirの Blueprint を知っている必要があります。個人的にはマテリアルより魅力的だと思います。

1
Sergey Kirienko

他の人が述べた効率と時間の側面以外に、もう1つの重要な点は均一性とユーザーの期待です。
完全に新しい外観の製品から「デザインアイデア」を理解する必要があるよりも、うまく機能し、見慣れた要素と相互作用する方がはるかに簡単で親しみやすくなります。

したがって、独自のフレームワーク/スタイルガイド/ ...を作成するときは、ユーザーを怖がらせないように、(あまりにもユニーク)であってはならないことを考慮してください。

0
Big_Chair

これは実際の答えではなく、「独自のカスタムフレームワークを構築する際の危険」

私はスティックの両端にいる、つまり、カスタムフレームワークを構築し、そして ikitbootstrap および angular material のような既存のソリッドフレームワークを使用しています。

この回答の根拠として、私はもともと悲観的です...したがって、以下は少し否定的かもしれません。

以下の理由により、「既存のフレームワークの使用」に傾倒しています。

  1. 時間。
    • 以前のポスターで述べたように、リソースが多くてもフレームワークを構築するにはかなりの時間がかかります
    • バグの修正、メンテナンスにかかる時間と、これらがより大きなフレームワークに及ぼす波及効果を過小評価していると思います
    • これらのことは、開発の形式であれ、QA回帰テストの形式であれ、時間がかかります。
    • フレームワークを構築すると、たとえ最初から完璧になっても、膨大な量のリソース(時間を含む)を消費します。
  2. 継続中
    • 物事を一緒に結び始めると、コンポーネントの構築やスタイルの問題に遭遇する可能性が最も高く、ここで継続的なメンテナンスが始まり、前述のようにQA時間になります。
  3. チームのスキルセット
    • アーキテクチャ上のフレームワークは非常に複雑です。
    • あなたが大規模なチームを持っている場合でも、チームの能力はどれくらいですか?
    • 後輩と先輩に囲まれた1人の上級開発者がいると想像してみてください。ワークロードの大部分は、他の人のたるみを拾う一人に任されます。
  4. フレームワークのカスタマイズ
    • 多くのフレームワークで、スタイルまたはJavaScriptのいずれかでコアファイルに「フック」することにより、コアファイルをカスタマイズできるようになりました。
    • これらのオプションを使用すると、既存のオプションにフックできるのになぜ独自のオプションを作成する必要があるのか​​がさらに尋ねられます
    • よくある誤解は、既存のフレームワークを使用すると、フレームワークをそのまま使用する必要があるということです。
    • これは当てはまりません。UIKitを例として使用すると、何百ものsassフックがあり、特定の要件に合わせてコンポーネントをさらにスタイルするために利用できます。
  5. プライベートまたはパブリック
    • 最後に、ほとんどの企業/チームがフレームワークを構築したいとき、彼らは自分の特定のニーズに合わせてそれを行うと思います。
    • この場合、カスタムフレームワークを構築する理由がわかります。コミュニティと知識を共有したり、次善のフレームワークを作成したりしているわけではありません。
    • このような例では、企業が独自に使用する理由を理解できます
    • ただし、そうは言っても、一般的なフレームワークの多くは、コミュニティの意見、親しみやすさ、サポートから恩恵を受けています
    • 何かを使用する特定の方法論があるという意味での知識。たとえば、ブートストラップで列の幅を50%にするなど、誰もが知っているbootstrapは12グリッドシステムを使用しているため、col-6使用するクラスです。
    • さらに、チーム/会社の新しいスターターは、カスタムフレームワークを使用する場合と同じようにスキルを上げる必要はありません。

これはちょうど私の2セントです。私はあなたがあなたの選択の中で最高であることを願っています。反対することを恐れないでください。

0
Craig Wayne

私はすでに構築されて自由に使用できるフレームワークを使用することをお勧めします。私は個人的に設計システムとしてAnt.designを使用しており、内部的に完全な設計システムに進化させました。1つを構築するコストを負担する必要はありませんでした私たちはそれをサポートする能力がありませんでした。

それはすべて、組織の運営方法と、どれだけの能力を持っているかに依存します。これは、組織内でのUX文化の成熟度の直接的な結果です。

0

あなたの時間と予算の制限を考えると、Bootstrap)のようなものが素晴らしいでしょう。多くの人がフレームワークを使用しています。理由は本当にわかりません。私はオフィスに来ず、私はホイールを再発明し、独自のバージョンのHTMLなどを実行するつもりだと思います。これにより、専門のチーム全体が何年もかけて開発に費やすため、複数のデバイスで堅牢にテストされていることがわかります。すべてのBootstrapサイトは同じように見えることになりますが、通常は怠惰なので、コアフレームワークの上に独自のスタイルと署名をオーバーレイできます。 UIが一般的にサイトが同じように見える理由の多くは、慣例やベストプラクティスがあるためです。Bootstrapは多くの時間を節約しますが、時間を過小評価しないでください特に新しいグリッドCSSに慣れていない場合は、実際に学習する必要がありますが、独自のCSSを構築するよりも速く、管理が簡単です。継承されたプライベートフレームワーク。それは機能しますが、コーディング、ガイダンス、明確なcss規約に多くの時間を費やす必要がありました。コーディングしているときは、決して忘れないだろうと思い、6か月で戻ってくるため、理解するのが難しいです。そして、彼らは同じことをしましたが、最終的には機能しますが、公共のものの1つよりも優れていない独自のフレームワークを望み、何年もかけて維持しました。

0
Matt