読者です 読者をやめる 読者になる 読者になる

JavaScript勉強会

JavaScriptの学習日記

GoやSwiftもAltJSとして使おう!

JavaScriptの代替手段として、現在様々なAltJS(Alternative JavaScript)が提供されています。

 

f:id:jsstudy:20170331160512p:plain

 

(参考)AltJS(Alternative JavaScript)をまとめて比較してみました

AltJSとは、Altnative Javascriptの略称で、JavaScriptの代替となりうる次世代のプログラミング言語スクリプト言語の候補群のことです。

特定の言語を指していません。

 

主要IT企業で開発されているプログラミング言語も、AltJSとして使うことができます。

 

  1. マイクロソフト → TypeScript
  2. グーグル → Go
  3. アップル → Swift

 

TypeScript

TypeScriptは、JavaScriptの代替を目的として開発された言語なので、AltJSの本命と言えるでしょう。

 

www.typescriptlang.org

 

TypeScript - Wikipedia

TypeScript はマイクロソフトによって開発され、メンテナンスされているフリーでオープンソースプログラミング言語である。

TypeScriptはクライアントサイド、あるいはサーバサイド(Node.js)で実行されるJavaScriptアプリケーションの開発に利用できる。

 

マイクロソフトは、Javaの市場シェアに対抗するため、アンダース・ヘルスバーグ氏の協力を得て「C#」を作りました。

C#の次は、TypeScriptでJavaScriptの市場を攻略?

 

 

 

Go

Go(Golang、Go言語)は、C/C++言語の改良版(ベターC)の1つとして開発されました。

Goも、JavaScriptの代替として利用できます。

 

The Go Programming Language

Go (プログラミング言語) - Wikipedia

Goはプログラミング言語のひとつ。Googleによって開発されており、設計にロブ・パイク、ケン・トンプソンらが関わっている。

 

GopherJS

GopherJSは、GoのコードをJavaScriptに変換するツールです。

GopherJS - Google 検索

 

github.com

 

GopherJSの紹介 - GolangRdyJp

GopherJSってなに?

Goの記述を100%Javascriptに変換してくれるツール。

 

GopherJS の基礎 - Qiita

GopherJS は Go で書いたプログラムを JavaScript に変換するソフトウェアです。

生成した JavaScript は、 Web ブラウザはもちろん、 node.js で実行することが出来ます。

 

スターティングGo言語

スターティングGo言語

 

 

 

Swift

Swiftは、iPhoneアプリの作成などで使われているプログラミング言語です。

Swiftも、JavaScriptの代替として利用できます。

 

Swift - Apple(日本)

Swift (プログラミング言語) - Wikipedia

Swift(スウィフト)は、アップルのiOSおよびmacOSのためのプログラミング言語

 

ShiftJS

ShiftJSは、SwiftのコードをJavaScriptに変換するツールです。

"ShiftJS" - Google 検索

 

公式 ShiftJS

解説 SwiftのコードをJavaScriptに変換してくれるnpmパッケージ「ShiftJS」 - LifeGadget(ライフガジェット)

 

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

 

 

まとめ

AltJSの候補として、TypeScriptの他に、GoやSwiftも利用できることが分かりました。

選択肢が増えることによって、自分の好きなものが選べるようになれば、嬉しいですね!

 

JavaScriptのエコシステムは、どんどん発展して、

  • Webアプリのフロントエンド(クライアントサイド)
  • Webアプリのバックエンド(サーバーサイド)
  • スマホアプリ
  • デスクトップアプリ

が作れるようになってきています。

 

AltJSを活用して、シームレスに開発ができたらイイですね★