iOSアプリ開発のバックエンドにもSwiftを採用すべき?
海外の記事を見ていると面白い記事を見つけました。
My boss insisted to use Swift rather than Java/Go/Python for backend development, what should I do?
要約すると、「上司がバックエンドの開発でJava/Go/PythonよりもSwiftを使えと言い張るんだけど、どうしたらいいの?」
その質問に対する回答は、上司は私たちよりも様々な戦略を考えているので企業方針に従おう、大丈夫!みたいな感じで慰め?のような言葉が書かれていますが、そもそもこの上司はなぜJavaやPythonよりもサーバーサイドでSwiftを使えと言ったのでしょうか?
クライアントサイドとサーバーサイドの言語統一
まず、一つ目のメリットとしてクライアントサイドとサーバーサイドがSwiftで開発できると色々と便利ですよね。
例えば、クライアントサイドをSwiftで開発して、サーバーサイドはRubyやJava、Pythonなどで開発するとします。
これはこれで問題なく開発できるわけですが、表も裏も同じ言語で統一すれば、同じIDEを使うこともできますし、どちらでも同じコードを共有することができるようになります。
Swift速い
コードが統一できるのはメリットの一つであって、その他にも恩恵があります。
それは、Swiftが速いということです。
海外のThe Benchmarks GameでSwiftや他の言語との比較がなされており面白い結果が出ていました。
テストではSwiftの処理時間が4秒だったのに対し、Javaは4.3秒。
Node.jsなら16秒ほど。Rubyにいたっては、さらに遅い結果が出ています。
メモリの面でも恩恵がある
ベンチマークではSwiftは15MBでJavaは32MBあります。
メモリの容量は半分でかつ速度も同等程度ということになります。Node.jsもJavaと同じ位のメモリを食うのでやはり Swiftに軍配が上がります。ちなみにRubyはさらにメモリを食うことになります。