ก่อนจะรู้จักกับ TypeScript

เป็นที่รู้กันว่า JavaScript เป็นภาษาที่ popular มากในช่วงหลัง ด้วยความต้องการของผู้ผลิตเว็บ ที่อยากจะทำให้เว็บเป็นมากกว่าเว็บธรรมดา

ย้อนไปหลายปีแสง

ด้วยเหตุที่ Product หลักของ Google อยู่บน Web Platform ซึ่งแตกต่างกับคู่แข่ง Microsoft ที่ก่อตั้งบริษัทด้วย OS รวมถึง Product ต่างๆ ของบริษัทจะเป็น Software ที่รันอยู่บน OS ของตัวเอง ที่เรียกว่า Window Form Application
แน่นอนว่าถ้า Google อยากได้ส่วนแบ่งผู้ใช้ที่สูงมากขึ้น ก็ต้องทำให้คนทั่วโลกอยู่บนเว็บมากขึ้น แต่ ณ เวลานั้น ข้อจำกัดบนเว็บมีอยู่เยอะที่ทำให้ยังไม่สามารถมี Application ที่ใกล้เคียงกับ Window Form Application ได้
อย่างแรกเลยคือ ประสิทธิภาพของ JavaScript
อย่างที่สองคือ ตัวภาษาเอง ไปดูข้อเสียของ JavaScript(JS the bad part)
ซึ่งจะทำให้ไม่สามารถผลิต Web Applicaiton ที่มีความซับซ้อนได้

Google สร้าง V8, Dart โดยหลักๆ เพื่อพยายามแก้ปัญหา 2 อย่างที่กล่าวมา, V8 Engine นั้นประสบความสำเร็จอย่างมาก ทำให้ประสิทธิภาพดีขึ้น เร็วขึ้น

ด้านฝั่ง Microsoft เริ่มมีเครื่องมือสำหรับนักพัฒนาเว็บอย่าง ASP.NET รวมทั้งมี Product อยู่ในรูปของเว็บไซต์มากขึ้น เช่น HotMail , SharePoint

ตอนเริ่มต้น Microsoft พยายามผลักดันมาตราฐานของตัวเอง อย่าง VBScript (แน่นอนว่าตอนนั้นมีฐานนักพัฒนาของ VB) แน่นอนว่า VBScript ไม่สามารถสร้างตัวเองขึ้นมาเป็นมาตราฐานได้

ผ่านมาหลายปี — มาจนปัจจุบัน

Microsoft ที่แต่เดิมค่อนข้างปิด เริ่มปรับทิศ

โดย Microsoft ปล่อยตัว TypeScript Preview เมื่อปี 2012 โดยเป็น Open Source, และตั้งใจช่วยให้นักพัฒนาเขียน JavaScript ได้ง่ายขึ้น ด้วยการเขียน TypeScript ก่อนจะ Compile ไปเป็น JavaScript ทั้ง Microsoft เองยังนำไปสร้างเว็บหลายตัว เช่น so.cl, Monaco (visual studio online)

เมื่อ มีนาคม 2015 Microsoft ได้ประกาศร่วมมือกับ Google ในการนำเอา TypeScript ไปใช้งานร่วมกับ AngularJS-2

​TypeScript ค่อนข้างคล้ายกับ C#, Java เป็นเพราะ Anders Hejlsberg (Lead architect C#) ร่วมอยู่ในทีมพัฒนาด้วย ทำให้แน่นอนว่ากลุ่มนักพัฒนาที่ชื่นชอบใน C#, Java จะรู้สึกว่า TypeScript เป็นเหมือนบ้านหลังที่สอง ฉะนั้นใครเป็น C# หรือเขียนเป็นประจำอยู่แล้ว จะพบว่าการเขียนแอพใหญ่ๆ ที่ต้องใช้ JS เยอะจะไม่ใช่ปัญหาอีกต่อครับ

Show your support

Clapping shows how much you appreciated kasidesh’s story.