「抽象化」の版間の差分

提供:MonoBook
 
14行目: 14行目:
[[スティーブ・ジョブス]]が[[iPhone]]を売る際に[[Adobe Flash]]を叩きまくったやつです。
[[スティーブ・ジョブス]]が[[iPhone]]を売る際に[[Adobe Flash]]を叩きまくったやつです。


とくにプラットフォームを増やしすぎるとどんどん機能が減って残念なことになります。抽象化ライブラリを作る際は「スマホに特化してiOSとAndroidだけ」などと絞り込むことが重要になります。ここに[[Windows]]を加えたりすると悲惨なことになります。
とくにプラットフォームを増やしすぎるとどんどん機能が減って残念なことになります。抽象化ライブラリを作る際は「スマホに特化してiOSとAndroidだけ」などと絞り込むことが重要になります。ここに[[Windows]]を加えて[[MAUI]]を作ったり、[[Mac]]を加えて[[Mac Catalyst]]を作ったりすると悲惨なことになります。


== 結論 ==
== 結論 ==

2025年9月2日 (火) 01:18時点における最新版

抽象化とは、プログラミングにおいて、特定のプラットフォームや実装に依存する部分を直接扱わず、共通化されたインターフェースや概念で置き換えることで、コードをプラットフォーム非依存にする設計手法です。

利点[編集 | ソースを編集]

たとえば.NET for Android.NET for iOSの両方でほぼ同じ使い勝手のライブラリを実装したりすることをいいます。

  • Abstract = 共通
    • iOS
    • Android

これを利用することで移植が捗るようになります。

欠点[編集 | ソースを編集]

基本的に抽象化を行うと「プラットフォーム共通で利用できる機能の最小公倍数」となるため、プラットフォームの特徴的な細かい機能を利用できないなどの弊害が発生します。

スティーブ・ジョブスiPhoneを売る際にAdobe Flashを叩きまくったやつです。

とくにプラットフォームを増やしすぎるとどんどん機能が減って残念なことになります。抽象化ライブラリを作る際は「スマホに特化してiOSとAndroidだけ」などと絞り込むことが重要になります。ここにWindowsを加えてMAUIを作ったり、Macを加えてMac Catalystを作ったりすると悲惨なことになります。

結論[編集 | ソースを編集]

手を広げすぎないこと。バランスが重要です。