質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

3回答

1994閲覧

新規プロジェクトのフロントエンドにTypeScriptではなくJavaScriptを使うメリットはあるか

A_kirisaki

総合スコア2853

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

2グッド

2クリップ

投稿2020/04/15 08:33

フロントエンド開発のトレンドの変化は今も速いですが、トランスパイルしてJavaScriptを出力する、といった流れはしばらく変わりそうにありません。そういった中で静的型付け(厳密には漸進的型付けですが)言語であるTypeScriptが普及しているかと思います。

TypeScriptには「型」の概念があり実行時エラーを大幅に減らしてくれるメリットがあります。記述量が増えるなどのデメリットもありますが、混沌とした仕様のJavaScriptにおいてTypeScriptは非常にありがたい存在だと言えます。

既存のプロジェクトの場合は型をつけられないライブラリがあったりしてTypeScriptへのリプレースが難しいと思われますが、新規プロジェクト、とくにReactやVue.jsなどのフレームワークを使ったプロジェクトにおいてTypeScriptを使わずJavaScriptを採用するメリットはあるのでしょうか。

miyabi_pudding, siruku6👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

TypeScriptを理解せずとも開発に加われる、という点が、開発者を多数必要とする環境ではメリットとなりえます。

TypeScriptの型は高度な仕組みのため、慣れていない人間が使い出すと「any乱発」などで、型情報と実際の型が合わないなど単なるJavaScriptより手のつけがたいTypeScriptコードを乱造される危険もあります。

投稿2020/04/15 08:46

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A_kirisaki

2020/04/15 10:05

確かにanyは危険ですね。コードレビューなどで弾ければ良いのでしょうが、理想に過ぎないというのもわかります。
guest

0

JavaScriptはネットでサンプルコードも豊富に手に入りますから学習コストが低いというのがメリットですね。
ただし、TypeScriptと違って明示的なデータタイプが言語仕様に無いためコードのステップ数が増えるとバグが入り込んだ時にデバッグが非常に困難になるデメリットがあるのもご承知の通りです。
経験からおおむね数百ステップ程度までならJSで行けますが、1,000ステップ越えのアプリは最初からTSで作ったほうがベターかと思います。
ご参考になれば。

投稿2020/04/15 14:04

tkanda

総合スコア2425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

既存のWebサイトにAngularを導入した経験から、回答させていただきます。

TSは、動的型付けに慣れている方にはかなりハードルが高く、学習コストが非常にかかります。
私は、静的型付けの言語に手を出していたからなんとかついてこれましたが、
開発において、JSの時点でも、ライブラリをちょいと使ってー、程度にしか使ってきてない人が、フロントエンドエンジニアには多くおり、(バカにしてるわけではなく、事実ほとんどそう、という話)その方々にTSをラーニングさせるのはかなりコストがかかります。

ただ、おっしゃる通り、フロントエンドフレームワークにおいて、フルにその良さを活かすには、CLI、なかんずくTSの使用が必要不可欠なのも事実であって、
技術を持った方が、先導して導入していくべき、とも思います。

しかし、JSのメリットは、とかく敷居の低さ、とっつきやすさだと思いますので、
現状が、TSのラーニングが厳しそうなら、
JSのままにせざるを得ないと思います。

また、その新規のプロジェクトが、ラーニングコストも担保できるスケジュールならば話は別で、チームでラーニングしていく、のも一つ手だと思います。

よって、結論から言うと、その企業なりチームなりの現状、案件による、としか言いようがないということです。

投稿2020/04/15 12:05

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A_kirisaki

2020/04/15 12:29

確かにチームによりけりですよね。型システムの教育方法もまだ成熟していない雰囲気もありますし、そこが落としどころなのでしょうか。(とは言いつつプログラミングスキル的には十分なチームが乗り換えていなかったりするのですが……)
miyabi_takatsuk

2020/04/15 12:37

落とし所、難しいですね・・・。 またさらに、型付けもそうなんですが、プロトタイプ→クラスって、手続きの仕方とか、オブジェクトの扱いも違って、そこが大きな壁になってる気がします。 JSでも、ES6〜や、クラス構文から入ってもらうと少しハードル下げれるんじゃないですかね? > プログラミングスキル的には十分なチームが乗り換えていなかったり これはぜひ挑戦してほしいですよね 苦笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問