web-dev-qa-db-ja.com

企業が新しい言語とフレームワークを生み出すためのそのような戦いがあるのはなぜですか

現在、ウェブサイト、アプリ、ソフトウェアの作成に使用する新しい言語やフレームワークを提供する大企業が大幅に成長しています。人々がこれをどのような理由で考えているのか知りたいのですが。常に少数の大きなプレーヤー(Java、C++、Perl Php、VB、C#、Rubyなど)がありますが、それらのチャンクは、そうする理由がより明白な愛好家によって作成されました。

最近、すべてのビッグテックの巨人は、私たちの使用法をめぐって自分たちの言語とフレームワークを一生懸命に推し進めています(成長はかなり似ているようで、確かに同じ理由であるため、言語とフレームワークをグループ化します)。たとえば、Appleは驚異的なスピードでSwiftを推進し、開発しています。C#はしばらく前から存在していましたが、GoogleのGoは驚くべき成長を遂げました。 (私は思います!)。Net Coreの公式リリースであり、マルチプラットフォームとオープンソースへの目標の大きな変化を示しています。

企業はこれから何を得るのですか?特に彼らの大多数は現在オープンソースであるため、なぜ彼らがそれを行うのかを財政的に理解することに興味がありますか?それらを作成、微調整、文書化するために必要なすべてのリソースと人的時間で、競合他社と同じ機能とパフォーマンスの大部分を提供しますが、多くの場合、そうではありません。彼らのボートに乗り込みますか?

技術の進歩の外見を維持し、会社を技術のリーダーのように見せることは、マーケティング上の理由から非常に単純ですか、それとも、言語/フレームワークを使用してツールを作成する開発者のために何か他のものを手に入れますか?

Microsoftが.Netを開発して、Windowsが必要になり、ホストとVisualStudioにIISを使用して開発することを望んでいた時代ほど明白ではありません。NetCoreでは、 Apple IBMと協力してSwift Webプログラミングのオプションを作成すると、以前のようにロックする必要がなくなります。 MacでiOSアプリを作成します。

Javascript言語とJavascriptフレームワークへのコンパイルは最大の成長分野の1つです-FacebookはAngular 2?およびその逆の代わりにReact、GraphQLなどを使用してより多くの開発者を獲得するためにGoogleよりも利益を得ることができますか?どちらも無料で、無料のリソースがあり、デプロイに関する限り、タイインはありません。たとえば、AngularアプリにGoogleCloudPlatformを使用する必要はありません。

最近多くのポッドキャストを聞いてたくさんの記事を読んだ後、チームメンバーとそれぞれのファンが他の言語/フレームワークの長所を他の方法よりも微妙に掘り下げて賞賛しているのは興味深いと思います-これはオタクの伝道のようですか?それ以上のものはありますか?

強く型付けされたバージョンのJavascriptを作成するようなものでも、TypeScriptとFlowは同等にプッシュされ、FacebookとMicrosoftの間の勢いと牽引力をめぐる小さな戦争のように見えます。

たくさんの例(Xamarin、React Native、Nativeなど)を続けることができますが、おそらく全体にアイデアがあります-ここで何が起こっているのですか?

3
stibos

企業は、(利益を得る)製品やプラットフォームをより魅力的にするためにこれを行っています。たとえば、Appleは開発者にとってより魅力的なiOS開発を行うためにSwiftを開発しています。もちろん、iOS開発者が増えると、アプリが増えることを意味します。プラットフォームは消費者にとってより魅力的です。つまり、Appleはより多くのiOSデバイスを販売し、より多くのお金を稼ぐでしょう。非常に簡単です。

その他の場合、利益の動機はより間接的です。たとえば、SunはJavaを開発しています。 Sunには独自のハードウェアがありましたが、Javaは意図的にクロスプラットフォームでした。その理由は、当時のWindowsがデスクトッププラットフォームをほぼ独占していたため、開発者はWindows用のソフトウェアのみを開発し、他のSunsのようなプラットフォームは消費者にとってあまり魅力的ではありません。Sunの観点から見た悪循環。Javaは開発者にクロスプラットフォームソフトウェアの作成を促し、それによってWindows以外のプラットフォームをより魅力的にすることを望んでいました。消費者。

.Netは、Microsoftの製品(VBおよびC++)よりも最新のように見えたため、Javaは多くの開発者を魅了したため、Microsoftの対策として開発されました。したがって、Microsoftは同様の最新のプラットフォームを提供しようとしましたが、まだWindowsプラットフォームに関連付けられています。

他のプラットフォームやフレームワークを調べると、同じ力が再び働いていることがわかります。

.Net戦略の変更(Windows固有からクロスプラットフォームへ)は、明らかにWindowsがモバイルプラットフォーム市場で負けたためです。 .Netは、仮想デスクトップの独占を固めるために作成されましたが、現在の目標は基本的に反対であり、iOSとAndroidによるロックインと戦うためのクロスプラットフォーム環境を作成することです。つまり、基本的にMicrosoftにはSunの役割があり、AppleにはMicrosoftの役割があります。

GoogleとFacebookは、HTMLとJavaScriptを大幅に推進しています。これは主に、Webをより強力なプラットフォームにし、MicrosoftやAppleなどのプラットフォーム所有者に有利なプラットフォーム固有の開発と比較してより魅力的にすることです。 MicrosoftはかつてWebおよびSabotageWeb標準と戦っていましたが、モバイルプラットフォームの戦いに敗れた後、(当然のことながら)プラットフォームに依存しないWebの大きな支持者になり、TypeScriptでGoogleと協力することさえあります。

5
JacquesB