Seperti yang sudah kita lakukan tahun lalu, sekarang waktunya untuk melihat kembali kondisi dunia JavaScript di tahun 2017.

Mari kita lihat secara angka proyek-proyek apa saja yang mendapatkan perhatian di tahun 2017 dengan membandingkan jumlah bintang yang ditambahkan di GitHub selama 12 bulan lalu mencari tahu siapa JavaScript Rising Stars tahun 2017.


Grafik berikut membandingkan jumlah bintang yang diterima di GitHub selama 12 terakhir. Kami menganalisa proyek-proyek dari Best of JS, sebuah daftar proyek-proyek terbaik di dunia web. Ingat bahwa anda bisa mengklik salah satu proyek untuk mendapatkan informasi lebih lengkap.

Proyek Paling Populer Secara Keseluruhan

1
Vue.js

Vue.js

🖖 A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+40.0k

Trends in 2017

3.0k
3.5k
3.9k
3.1k
3.2k
3.1k
3.6k
3.3k
3.6k
3.4k
3.1k
3.0k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-07
  • Total stars
    80.7k

Links

2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+27.8k

Trends in 2017

2.0k
2.0k
2.6k
2.3k
2.3k
2.0k
2.6k
2.2k
2.5k
2.8k
2.5k
2.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-05
  • Total stars
    86.2k

Links

3
Create React App

Create React App

Create React apps with no build configuration.
+22.5k

Trends in 2017

2.1k
1.8k
2.3k
1.8k
2.2k
1.8k
1.9k
2.3k
1.5k
1.7k
1.7k
1.5k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-07
  • Total stars
    41.4k

Links

4
Puppeteer

Puppeteer

Headless Chrome Node API
+22.0k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
N/A
3.9k
2.9k
3.0k
2.2k
1.9k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-05
  • Total stars
    24.0k

Links

5
Axios

Axios

Promise based HTTP client for the browser and node.js
+21.9k

Trends in 2017

1.5k
1.7k
2.2k
2.0k
1.9k
1.8k
1.9k
1.9k
1.7k
1.7k
1.9k
1.7k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-08
  • Total stars
    34.5k

Links

6
VS Code

VS Code

Visual Studio Code
+20.2k

Trends in 2017

897
1.4k
1.8k
1.7k
1.5k
1.3k
1.4k
1.6k
1.6k
2.5k
2.6k
1.8k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-09
  • Total stars
    42.5k

Links

7
Prettier

Prettier

Prettier is an opinionated code formatter.
+17.7k

Trends in 2017

114
1.1k
1.3k
2.6k
1.0k
1.8k
1.0k
1.3k
721
1.4k
956
1.5k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-11
  • Total stars
    20.4k

Links

8
React Native

React Native

A framework for building native apps with React.
+15.6k

Trends in 2017

1.2k
1.3k
1.6k
1.3k
1.3k
1.3k
1.3k
1.2k
1.1k
1.2k
1.3k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-01
  • Total stars
    58.7k

Links

9
Element

Element

A Vue.js 2.0 UI Toolkit for Web
+14.9k

Trends in 2017

1.4k
1.2k
1.8k
1.2k
1.1k
1.0k
1.1k
1.1k
1.3k
1.4k
1.3k
1.1k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-09
  • Total stars
    22.4k

Links

10
Electron

Electron

Build cross platform desktop apps with JavaScript, HTML, and CSS
+14.8k

Trends in 2017

1.3k
1.2k
1.4k
1.3k
1.3k
1.1k
1.2k
1.2k
1.1k
1.3k
1.2k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-04
  • Total stars
    55.5k

Links

Pendahuluan

Berikut ini proyek paling populer tahun 2017 dari semua kategori.

Vue.js kembali lagi

Sekali lagi, Vue.js menjadi proyek paling trendi tahun 2017 dengan lebih dari 40.000 bintang ditambahkan di GitHub sepanjang tahun.

Pencapaian jumlah bintang ini lebih tinggi dari tahun 2016 yang hanya 26.000 bintang dan jarak ke penantang berikutnya (React) menjadi lebih besar.

Jadi apa yang membuat Vue.js spesial?

  • Pertama, ia memiliki kurva belajar yang rendah dengan pendekatan penggunaan komponen yang mirip dengan React tapi menggunakan sintaks yang lebih familiar.
  • Ekosistemnya didefinisikan dengan baik dimana terdapat standar yang dipakai dimana router: vue-router, State management library: Vuex
  • Konsep penggunaan single-file component dimana ada template, logic dan styles di satu file .vue merupakan konsep yang menarik.
  • Dipakai oleh salah satu framework PHP paling populer, Laravel, sebagai view engine bawaannya.
  • Tidak didekengi oleh perusahaan besar di Internet seperti Facebook atau Google tapi dimaintain oleh Evan You sebagai proyek open-source yang disponsori oleh crowd-sourcing.

Poin ini mungkin mirip dengan point terakhir di atas, tapi Vue.js sangat populer diantara developer Tiongkok. Ia dipakai oleh platform e-commerce paling besar di Tiongkok (Alibaba), juga dipakai oleh perusahan lain seperti GitLab atau Adobe.

React, nomor 2, lagi!

Seperti di tahun 2016, React menjadi nomor 2, dengan lebih dari 27.000 bintang yang ditambahkan ke GitHub (catat bahwa kita hanya melihat bintang yang ditambahkan sepanjang tahun, bukan jumlah bintang keseluruhan).

Create React App, proyek yang ketiga, menjadi cara yang paling direkomendasikan untuk membuat proyek web baru dengan React dan sukses membuat banyak boilerplate React menjadi tidak relevan seperti sebelumnya.

Dan Abramov (pembuat Redux, sekarang bekerja untuk Facebook) melakukan kerja yang sangat bagus dalam mencari keseimbangan antara kesederhanaan dan fitur. Contoh tidak ada styling yang aneh-aneh (hanya CSS biasa), tidak ada server-side rendering, tapi semua dipaketkan dengan baik sehingga pengalaman developer menjadi sangat asik.

Axios

Pustaka Axios menjadi klien HTTP yang paling banyak dipakai.

Ia dapat bekerja baik di sisi klien (rikues AJAX dari klien) atau di server-side (rikues HTTP di lingkungan Node.js).

Kesuksesannya mungkin berhubungan dengan Vue.js juga karena banyak tutorial Vue.js menggunakannya untuk mengakses API melalui HTTP.

Puppeteer

Puppeteer adalah cerita paling akbar tahun 2017. Dibuat oleh tim Google Chrome, ia adalah sebuah peramban headless Chrome alias perambah yang berjalan di belakang layar dan dapat diakses lewat kode.

Ia dapat dipakai untuk melakukan:

  • Pengujian antarmuka aplikasi web secara otomatis di peramban web asli (bukan virtual).
  • Mengambil snapshots halaman web untuk melakukan server-side rendering.
  • Membuat file PDF dengan kelebihan Chrome untuk menyimpan halaman web sebagai file PDF.

Front-end Frameworks

1
Vue.js

Vue.js

🖖 A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+40.0k

Trends in 2017

3.0k
3.5k
3.9k
3.1k
3.2k
3.1k
3.6k
3.3k
3.6k
3.4k
3.1k
3.0k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-07
  • Total stars
    80.7k

Links

2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+27.8k

Trends in 2017

2.0k
2.0k
2.6k
2.3k
2.3k
2.0k
2.6k
2.2k
2.5k
2.8k
2.5k
2.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-05
  • Total stars
    86.2k

Links

3
Angular

Angular

One framework. Mobile & desktop.
+12.2k

Trends in 2017

827
949
1.4k
1.0k
884
911
983
989
925
1.1k
1.2k
930
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-09
  • Total stars
    32.2k

Links

4
Preact

Preact

⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
+10.4k

Trends in 2017

779
498
575
634
829
920
729
2.0k
1.9k
545
401
532
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-09
  • Total stars
    17.3k

Links

5
Hyperapp

Hyperapp

1 KB JavaScript library for building web applications.
+8.1k

Trends in 2017

N/A
1.2k
779
148
113
2.1k
671
321
746
333
189
1.5k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-01
  • Total stars
    10.3k

Links

Kategori "front-end framework" sudah menjadi medan perang dalam beberapa waktu terakhir, namun akhirnya medan perang ini lambat laun mulai mendingin dimana kita dapat melihat dengan jelas 3 pemain paling dominan.

The Big-3: Vue, React dan Angular

Bukan sebuah kejutan bahwa tiga framework UI paling populer adalah Vue.js, React dan Angular

Meski secara umum ketiganya bisa dipanggil sebagai frameworks, namun akan lebih akurat jika hanya Angular saja yang mendapat sebutan itu, dan kita harus menyebut Vue.js dan React sebagai libraries alias pustaka.

Sebelumnya kita sudah membahas kesuksesan Vue.js dan pendekatan terintegrasinya.

Sementara itu, dunia React masih terpecah belah dan developer harus membuat menentukan sendiri hal-hal yang akan ada di view layer:

  • Routing antar halaman.
  • Bagaimana mengambil data.
  • Bagaimana menautkan form ke data.
  • Bagaimana menyimpan state aplikasi.

Sebaliknya, ekosistem Angular sudah lebih terkontrol dan lebih stabil. Selalu ada Angular Way (atau cara yang Angular banget) untuk melakukan sesuatu.

Standar yang dimilikinya merupakan salah satu alasan mengapa Angular lebih memiliki imej sebuah "corporate" (atau "enterprise" gitu lah ya). Imej ini sudah diperlihatkan dengan penggunaan static type oleh TypeScript dimana sintaksnya mirip dengan bahasa C# atau Java yang biasa dipakai backend developer.

Less is more

Dibelakang Big-3, sangat menarik untuk melihat bahwa Preact menduduki posisi 4. Preact adalah alternatif yang lebih kecil dari React: dengan API yang sama tapi ukuran kurang dari 3KB.

Penantang lain di kategori ini sebagin besar mengambil kelebihan dengan memperkecil ukuran untuk mendapatkan performa yang lebih baik dibandingkan tiga framework di atas.

Contoh terbaik untuk moto di atas adalah Hyperapp, sebuah proyek yang masih berumur minggu. Ia merupakan pendekatan campuran antara sintaks JSX dari React dan sebuah sistem manajemen state yang terinspirasi oleh Redux dalam ukurang kurang dari 1KB!

Node.js Frameworks

1
Express

Express

Fast, unopinionated, minimalist web framework for node.
+6.7k

Trends in 2017

542
586
613
587
583
552
512
525
485
610
560
524
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2009-06
  • Total stars
    36.2k

Links

2
Koa

Koa

Expressive middleware for node.js using ES2017 async functions
+5.8k

Trends in 2017

422
510
609
486
479
489
421
517
465
441
481
460
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-07
  • Total stars
    19.3k

Links

3
Fastify

Fastify

Fast and low overhead web framework, for Node.js
+5.8k

Trends in 2017

109
15
87
56
17
91
99
60
2.1k
2.2k
611
342
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-09
  • Total stars
    6.0k

Links

4
Gun

Gun

A realtime, decentralized, offline-first, graph database engine.
+3.2k

Trends in 2017

181
234
128
106
223
1.3k
162
183
87
128
198
184
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-07
  • Total stars
    7.2k

Links

5
micro

micro

Asynchronous HTTP microservices
+3.2k

Trends in 2017

434
277
272
252
273
177
244
419
230
198
223
157
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-01
  • Total stars
    5.9k

Links

JavaScript tentu saja tidak terbatas di sisi front-end sebuah aplikasi web saja, JavaScript juga dapat dipakai di backend, dan Mikeal Rogers, seorang member komunitas node.js yang cukup berpengaruh memprediksi bahwa Node.js Akan Mengalahkan Java dalam Satu Tahun.

Namun tidak seperti bahasa lain yang sudah memiliki standar de-facto selama bertahun-tahun (pikirkan Ruby on Rails untuk Ruby, Django untuk Python atau Laravel untuk PHP), tidak ada aturan khusus atau arsitektur yang direkomendasikan saat akan membuat sebuah server node.js baru.

Meskpun sudah cukup tua, Express masih tidak hanya masih menjadi framework paling trendi untuk node.js di tahun 2017, tapi ia juga measih menjadi tulang punggung banyak framework atau CMS lain, termasuk Feathers, Keystone atau Nest.

Sepertinya pendekatan minimalis ala Express cocok untuk tren micro-service yang mempromosikan pembuatan beberapa aplikasi yang lebih kecil daripada membuat satu aplikasi yang super besar.

Dibandingkan tahun lalu, 3 pendatang baru bergabung di TOP 10 framework node.js:

  • Fastify dibuat sebagai web framework general-purpose, terinspirasi oleh hapi, tapi lebih cocok untuk membangun API HTTP berbasis JSON.
  • Server.js bertujuan untuk memberikan pengalaman ‘everything works out of the box’.
  • Nest memberikan arsitektur yang cukup familiar bagi developer Angular, terdiri atas module dan controller, ditulis dalam TypeScript.

React Ecosystem

1
Create React App

Create React App

Create React apps with no build configuration.
+22.5k

Trends in 2017

2.1k
1.8k
2.3k
1.8k
2.2k
1.8k
1.9k
2.3k
1.5k
1.7k
1.7k
1.5k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-07
  • Total stars
    41.4k

Links

2
Ant Design

Ant Design

🐜 A UI Design Language
+13.3k

Trends in 2017

N/A
936
1.1k
971
910
928
941
1.1k
887
1.2k
1.3k
1.6k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-04
  • Total stars
    23.1k

Links

3
Next.js

Next.js

Framework for server-rendered or statically-exported React apps
+12.7k

Trends in 2017

893
664
2.1k
1.3k
1.2k
745
1.2k
856
697
1.2k
864
960
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-10
  • Total stars
    21.4k

Links

4
Storybook

Storybook

Interactive UI component dev & test: React, React Native, Vue, Angular
+9.7k

Trends in 2017

467
429
666
627
807
940
704
1.0k
671
837
1.3k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-03
  • Total stars
    19.1k

Links

5
Gatsby

Gatsby

⚛️📄🚀 Blazing fast static site generator for React
+9.7k

Trends in 2017

717
481
508
438
573
505
2.1k
664
698
1.1k
796
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-05
  • Total stars
    17.7k

Links

Pustaka React hanya memiliki layer view, memberiakn ruang bagi keseluruhan ekosistemnya yang bergerak dengan sangat cepat. Dalam kategori ini, kami mengikutsertakan proyek ayng dibuat di atas pustaka React dan React Native.

Tahun 2016 Create React App menyelesaikan permasalahan untuk mulai membuat sebuah aplikasi React yang baru dengan template yang sudah diatur dengan baik. Facebook terus merilis versi baru dan sampai hari ini menjadi proyek paling populer di tahun 2017.

Sebagai contoh kesuksesannya, kami dapat menyebut StackBlitz, sebuah IDE online yang memungkinkan kita menjalankan aplikasi yagn dibuat dari Create React App, langsung dari browser dalam hitungan detik.

Namun meskipun Create React App sering disebut sebagai "starter kit" bawaan untuk React, developer mungkin masih memerlukan starter kit lain seperti: React boilerplate yang juga menjadi proyek paling populer dikategori inidengan memberikan banyak fitur seperti integrasi dengan GraphQL.

Ant Design, Ant Design Pro dan Material UI merupakan kumpulan komponen React yang telah diatur style-nya sehingga membantu developer yang ingin membuat aplikasi web yang repot memikirkan styling aplikasinya.

Popularitas Recompose memberikan salah satu fitur yang paling diinginkan developer dari React: pendekatan "functional"-nya, semua hanyalah sebuah fungsi dan Recompose memberikan kumpulan helper untuk melakukan hal ini.

Vue Ecosystem

1
Element

Element

A Vue.js 2.0 UI Toolkit for Web
+14.9k

Trends in 2017

1.4k
1.2k
1.8k
1.2k
1.1k
1.0k
1.1k
1.1k
1.3k
1.4k
1.3k
1.1k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-09
  • Total stars
    22.4k

Links

2
iView

iView

A high quality UI Toolkit built on Vue.js 2.0
+9.5k

Trends in 2017

N/A
N/A
351
613
485
566
929
626
576
1.3k
788
585
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-07
  • Total stars
    12.4k

Links

3
Vuex

Vuex

🗃️ Centralized State Management for Vue.js.
+7.2k

Trends in 2017

547
597
713
632
588
579
553
582
600
569
638
555
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-07
  • Total stars
    12.3k

Links

4
Weex

Weex

A framework for building Mobile cross-platform UI.
+6.5k

Trends in 2017

N/A
26
116
1.4k
839
764
668
550
563
608
538
456
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-01
  • Total stars
    7.5k

Links

5
Nuxt

Nuxt

Versatile Vue.js Framework
+6.3k

Trends in 2017

164
354
625
515
537
481
592
732
532
606
635
498
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-10
  • Total stars
    9.2k

Links

6
Vuetify

Vuetify

Material Component Framework for Vue.js 2
+6.3k

Trends in 2017

322
191
363
385
402
360
569
554
1.1k
777
615
585
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-09
  • Total stars
    7.8k

Links

7
Mint UI

Mint UI

Mobile UI elements for Vue.js
+5.5k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
116
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-05
  • Total stars
    9.4k

Links

8
vux

vux

Mobile UI Components based on Vue & WeUI
+4.6k

Trends in 2017

306
382
510
392
361
383
394
399
373
311
409
426
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-02
  • Total stars
    11.0k

Links

9
vue-router

vue-router

🚦 The official router for Vue.js.
+4.6k

Trends in 2017

408
400
460
411
396
407
370
352
374
403
351
313
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-12
  • Total stars
    8.5k

Links

10
Vue material

Vue material

Material design for Vue.js
+3.7k

Trends in 2017

328
405
449
320
307
304
303
293
251
273
245
234
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-06
  • Total stars
    5.3k

Links

Guest Writer: Evan You

Meski begitu mengagumi Vue.js, kami harus akui bahwa kami belum begitu familiar dengan ekosistemnya.

Oleh karena itu lah kami mencari seorang ahli untuk memberiakn opini mereka tentang statistik tahun ini dan siapa yang lebih baik dari pembuat Vue.js itu sendiri?

Guest Writer evan

Dengan popularitas yang meningkat dari Vue itu sendiri, banyak proyek di ekosistem Vue juga memperoleh perkembangan yang cepat di tahun 2017.

Element dan iView adalah dua component UI kit yang paling populer. Mint UI dan vux, disisi lain adalah dua UI kit yang fokus di ranah mobile dan paling populer.

Vuetify adalah framework komponen Material Design yang dapat dipakai baik untuk mobile maupun aplikasi web desktop dan mungkin menjadi fitur paling kaya dengan server-side rendering, PWA dan dukungan CLI template. Ada juga Vue material yang fokus lebih untuk memberikan kumpulan komponen yang secara ketat mengikuti aturan Material Design.

Nuxt adalah sebuah higher-level framework dibuat di atas Vue, memberikan pengalaman development yang sangat halus untuk membuat aplikasi server-rendering Vue universal. Ia juga sangat serbaguna - kodenya bisa dipakai untuk membuat SPA biasa atau malah membuat static site.

Weex adalah framework yang memungkinkan pengguna untuk membuat aplikasi native-rendering mobile menggunakan sintaks dan API Vue yang sudah cukup familiar. Dikembangkan oleh Alibaba dan dipakai di production di beberapa aplikasi mobile yang cukup besar didunia dengan fokus pada performa.

Mobile

1
React Native

React Native

A framework for building native apps with React.
+15.6k

Trends in 2017

1.2k
1.3k
1.6k
1.3k
1.3k
1.3k
1.3k
1.2k
1.1k
1.2k
1.3k
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-01
  • Total stars
    58.7k

Links

2
Weex

Weex

A framework for building Mobile cross-platform UI.
+6.5k

Trends in 2017

N/A
26
116
1.4k
839
764
668
550
563
608
538
456
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-01
  • Total stars
    7.5k

Links

3
Ionic

Ionic

Build amazing native and progressive web apps with open web technologies. One app running on everyth
+5.5k

Trends in 2017

500
443
515
530
509
437
439
419
421
465
510
311
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-08
  • Total stars
    33.0k

Links

4
Quasar

Quasar

Quasar Framework
+3.7k

Trends in 2017

17
297
341
244
314
266
298
397
360
343
301
331
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-10
  • Total stars
    4.8k

Links

5
NativeScript

NativeScript

NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use
+2.9k

Trends in 2017

241
224
245
238
255
224
217
211
299
280
271
233
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-03
  • Total stars
    12.2k

Links

JavaScript sangat serbaguna sehingga ia juga bisa dipakai untuk membuat aplikasi mobile, artinya kita bisa menggunakan kompoenen yang sama antara aplikasi web dengan aplikasi mobile.

Di kategori ini, kita kembali menemukan tiga pemain utama dari kategori "Front-end frameworks":

Seperti di tahun 2016, React Native menjadi solusi paling trendi yang berbasis JavaScript untuk membangun aplikasi mobile yang native baik itu untuk iOS, Android atau Windows systems.

Seperti yang dibahas di video ini Cross platform apps with React Native, janji untuk "Write Once, Run Everywhere" dapat dipenuhi!

Compilers

1
TypeScript

TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
+11.6k

Trends in 2017

738
855
972
1.1k
928
936
976
1.0k
818
1.2k
1.1k
992
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-06
  • Total stars
    30.2k

Links

2
Babel

Babel

:tropical_fish: Babel is a compiler for writing next generation JavaScript.
+5.7k

Trends in 2017

390
382
447
395
361
336
371
412
397
564
1.1k
587
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-09
  • Total stars
    25.4k

Links

3
Flow

Flow

Adds static typing to JavaScript to improve developer productivity and code quality.
+5.1k

Trends in 2017

335
303
505
577
484
447
381
420
372
433
392
417
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-10
  • Total stars
    15.1k

Links

4
Reason

Reason

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
+2.1k

Trends in 2017

186
79
186
143
115
85
72
151
284
266
201
395
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-11
  • Total stars
    4.7k

Links

5
Purescript

Purescript

A strongly-typed language that compiles to Javascript
+1.2k

Trends in 2017

123
77
96
101
63
96
92
106
99
121
123
108
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-09
  • Total stars
    4.4k

Links

Disini kita membahas bahasa yang dikompilasi menjadi kode JavaScript biasa.

Pembaca mungkin membutuhkan sebuah compiler untuk building workflow kita karena dua alasan berikut:

  • Pembaca ingin mendapatkan semua fitur dari bahasa JavaScript paling baru (ES7) sembari membuat kode yang ditulis dapat berjalan dari mayoritas peramban web yang ada. Fitur ini yang membuat Babel begitu sukses dimana banyak proyek bergantung padanya.
  • Pembaca ingin menambah fitur baru ke bahasa tersebut misalnya sebuah "type checking".

Satu pertanyaan masa kini yang membagi developer menjadi dua kubu: menggunakan type atau tidak menggunakan type?

JavaScript memiliki tipe yang dinamis (dynamic type) tapi bukan tipe statik (static type). Banyak developer merasa mereka membutuhkan sebuah type di kodenya, terutama di code base yang besar untuk membuat code base tersebut menjadi lebih lebih kokoh dan mudah dibaca/dipahami.

Sehingga, jika merasa membutuhkan type, ada dua solusi utama yaitu: TypeScript, dari Microsoft dan Flow, dari Facebook (dan dipakai di proyek mereka yang lain: React, React Native, Jest...)

Baca darikel ini dari James Kyle untuk memahami perbedaannya: A Comparison Between Adopting Flow or TypeScript

Build Tools

1
Parcel

Parcel

📦🚀 Blazing fast, zero configuration web application bundler
+14.0k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
1
1
13.9k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-08
  • Total stars
    16.9k

Links

2
Webpack

Webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting a
+13.1k

Trends in 2017

1.4k
1.2k
1.2k
1.1k
1.1k
1.2k
1.1k
995
714
1.0k
1.0k
1.0k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2012-03
  • Total stars
    36.1k

Links

3
Gulp

Gulp

The streaming build system
+3.6k

Trends in 2017

344
313
376
391
303
254
291
302
237
286
270
228
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-07
  • Total stars
    28.5k

Links

4
Rollup

Rollup

Next-generation ES6 module bundler
+3.5k

Trends in 2017

338
267
270
498
288
289
254
260
200
203
297
362
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-05
  • Total stars
    11.6k

Links

5
Poi

Poi

:zap: Delightful web development.
+2.7k

Trends in 2017

N/A
127
132
94
129
82
78
54
165
178
200
1.3k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-04
  • Total stars
    3.1k

Links

Kategori ini mungkin menjadi yang paling menarik di tahun 2017 dengan building tool paling trendi yaitu Parcel, proyek baru yang mendapatkan bintang lebih dari 14.000 sejak proyek ini dirilis pada bulan Agustus di GitHub.

Parcel menawarkan semua kelebihan modern web development dengan satu fitur keren: tanpa konfigurasi!

Itu kelebihan utamanya dengan Webpack yang bergantung pada sebuah ekosistem plugin yang disebut dengan "loaders".

Jangan terkecoh oleh angkanya, Webpack masih menjadi bundler paling populer untuk aplikasi modern dengan jumlah total bintang sebanyak 35,000 di GitHub dan lebih dari 500 kontributor.

Banyak proyek menggunakannya termasuk Create React App dan Gatsby, salah dua proyek paling populer tahun 2017.

Webpack terus berkembang dengan versi 2 yang menawarkan fitur "code splitting" dengan sangat mudah melalui dynamic imports.

Sementara Webpack dan Parcel keduanya menargetkan building process dari aplikasi web, Rollup menargetkan building process dari pustaka. Ia fokus pada performa yang mengambil keuntungan dari modul ES6.

Rollup dipakai oleh beberapa pustaka besar diantaranya tim React yang mengganti build system mereka dari Browserify ke Rollup tahun 2017.

Sumber dari React blog

Rollup sangat cocok untuk pustaka seperti React yang dapat melakukan pre-built lalu mengintegrasinya ke dalam aplikasi.

Poi memiliki tujuan yang sama dengan Parcel: sebuah build tool untuk aplikasi dan pustaka web modern, ia juga hadir tanpa konfigurasi namun memungkinkan kita untuk menambahnya lewat presets.

Testing Frameworks

1
Jest

Jest

🃏 Delightful JavaScript Testing.
+7.1k

Trends in 2017

498
519
647
549
884
499
549
476
473
705
664
675
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2013-12
  • Total stars
    15.0k

Links

2
AVA

AVA

:rocket: Futuristic JavaScript test runner
+4.8k

Trends in 2017

1.0k
522
452
377
358
304
315
303
260
321
294
245
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-11
  • Total stars
    12.5k

Links

3
Mocha

Mocha

☕️ simple, flexible, fun javascript test framework for node.js & the browser
+3.1k

Trends in 2017

242
253
266
244
251
230
231
259
238
269
295
287
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2011-03
  • Total stars
    14.4k

Links

4
Jasmine

Jasmine

Simple JavaScript testing framework for browsers and node.js
+1.2k

Trends in 2017

93
95
128
97
106
94
96
120
88
76
109
83
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2008-12
  • Total stars
    13.2k

Links

5
Tape

Tape

tap-producing test harness for node and browsers
+1.0k

Trends in 2017

149
90
135
105
91
63
65
70
79
54
57
51
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2012-11
  • Total stars
    4.4k

Links

Seperti yang kami prediksi tahun lalu (pertama kalinya kami memprediksi sesuatu dengan tepat!), Jest menjadi testing framework paling trendi tauhn 2017.

Ia pertama kali dibuat oleh Facebook untuk menjalankan test komponen React, namun evolusinya ternyata terjadi dengan sangat cepat di beberapa bulan terakhir (sudah ada 22 major version yang dirilis) dan ia juga dapat dipakai untuk menulis test baik kode front-end maupun back-end.

Jest bersinar karena beberapa hal ini:

  • Tanpa konfigurasi, pengaturan bawaan sudah mencukupi
  • Memberikan pengalaman yang menyenangkan untuk developer (intelligent watch mode, error reporting yang sangat baik...)
  • Sintaks mirip dengan Mocha, banyak developer sudah familiar dengan keyword describe dan it
  • Tidak memerlukan pustaka tambahan untuk melakuakn assertions, ia termasuk kategori "battery included".
  • Memiliki fitur unik bernama mode "snapshot" yang mencatat respon untuk test di masa mendatang secara otomatis.

AVA, nomor satu tahun lalu, masih mendapat perhatian.

Ia dibuat oleh Sindre Sorhus yang menggunakannya diseluruh proyek yang ia buat dan itu artinya pustaka ini dipakai di banyak sekali proyek besar!

Ava menekankan kecepatan saat melakuakn test secara parallel, ia juga memiliki footprint yang lebih kecil dan sangat dekat dengan standar melakukan testing dengan sintaks yang mirip dengan Tape.

IDEs & Editors

1
VS Code

VS Code

Visual Studio Code
+20.2k

Trends in 2017

897
1.4k
1.8k
1.7k
1.5k
1.3k
1.4k
1.6k
1.6k
2.5k
2.6k
1.8k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-09
  • Total stars
    42.5k

Links

2
Atom

Atom

:atom: The hackable text editor
+9.1k

Trends in 2017

838
766
764
604
798
695
774
871
921
763
724
557
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2012-01
  • Total stars
    42.9k

Links

3
Reactide

Reactide

Reactide is the first dedicated IDE for React web application development. http://reactide.io
+7.4k

Trends in 2017

N/A
N/A
N/A
2.2k
181
109
66
76
34
71
38
73
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-03
  • Total stars
    7.6k

Links

4
Brackets

Brackets

An open source code editor for the web, written in JavaScript, HTML and CSS.
+1.9k

Trends in 2017

138
164
233
142
172
126
189
161
192
142
112
106
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2011-12
  • Total stars
    28.6k

Links

5
Nuclide

Nuclide

An open IDE for web and native mobile development, built on top of Atom
+1.4k

Trends in 2017

152
167
154
152
145
101
127
75
123
68
82
76
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-03
  • Total stars
    7.4k

Links

Disini kita membahas editor teks dari dunia open source, dibangun dengan teknologi web (maaf untuk pengguna Sublime!).

Tahun 2016, VS Code, dikeluarkan oleh Microsoft dan Atom, dikeluarkan oleh GitHub menjadi penguasai kategori ini.

mereka juga masih berkuasai di tahun 2017 tapi VS Code mendapatkan keuntungan yang lebih besar dibanding rivalnya.

Setiap bulan, versi baru VS Code dirilis yang membanyak fitur-fitur yang lebih banyak dan lebih membatu tanpa mengorbankan performanya. Tanpa memasang apapun lagi, kita sudah langsung mendapat fitu-fitur ini:

  • Git integration
  • Autocomplete utnuk banyak hal: sintaks JavaScript, local file paths saat menggunakan require atau import sebuah module, nama packager NPM...
  • Integrasi sintaks React

Jika menggunakna Prettier didalamnya, kita dapat mengatur editor ini untuk melakukan format file secara otomatis setiap kali melakukan proses simpan, sehingga kita mendapatkan kode yang rapi secara otomatis!

CSS in JavaScript

1
Styled Components

Styled Components

Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without
+8.7k

Trends in 2017

852
545
899
861
874
744
703
697
625
677
555
703
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-08
  • Total stars
    12.8k

Links

2
CSS Modules

CSS Modules

Documentation about css-modules
+2.9k

Trends in 2017

234
227
272
234
313
307
246
254
194
210
234
217
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-05
  • Total stars
    8.9k

Links

3
Polished

Polished

A lightweight toolset for writing styles in JavaScript ✨
+2.9k

Trends in 2017

N/A
N/A
N/A
518
262
210
139
96
94
129
96
103
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-11
  • Total stars
    3.0k

Links

4
Glamorous

Glamorous

💄 Maintainable CSS with React
+2.9k

Trends in 2017

N/A
N/A
N/A
531
273
206
196
292
139
151
120
165
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-04
  • Total stars
    3.0k

Links

5
Emotion

Emotion

⚡️ The Next Generation of CSS-in-JS
+2.5k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
488
257
190
352
186
298
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-05
  • Total stars
    2.7k

Links

Belum ada kesepakatan umum bagaimana cara terbaik untuk memberikan style komponen React.

Pembaca dapat memakai komponen yang siap pakai seperti Material UI atau Ant Design jika membutuhkan standar yang sudah bagus tanpa perlu melakukan kostumisasi tambahan.

Atau, jika membutuhkan fleksibilitas, pembaca dapat melakukan "cara lama", dengan menggunakan global CSS dari sebuah framework CSS seperti Bootstrap atau Bulma, dan menambahkan className yang sesuai ke komponen yang diinginkan. Namun dengan begitu komponen kita menjadi tidak self-contained lagi (berdiri sendiri), karena style-nya diatur ditempat lain.

Untuk mengatasi permasalahan ini, kategori "CSS in JavaScript" akhirnya dimunculkan.

Konsepnya sederhana: dengan React kita sudah mengatur logic dan template-nya dengan JavaScript. Kenapa tidak sekalian mengatur style langsung di dalam komponen dengan JavaScript untuk styling-nya juga?

Styled Components sejauh ini merupakan proyek paling trendi di kategori ini. Ia memungkinkan developer untuk menambah sintaks CSS iasa didalam komponen React menggunakan fitur baru di bahasa JavaScript: tagged template literals.

CSS Modules, posisi kedua di kategori ini mengadopsi pendekatan hibrida. Ia memungkinkan developer untuk menulis style dalam bahasa pilihan mereka (CSS biasa, Sass, less, stylus), menggunakan file-file yang ada didekat komponen yang diinginkan lalu diimpor ke komponen tersebut.

Mark Dalgleish, salah satu penulis CSS Modules, menulis salah satu artikel paling menarik tentang pendekatan CSS-in-JavaScript: A Unified Styling Language. Artikel ini sangat direkomendasikan untuk orang-orang yang cukup skeptis terhadap teknik yang baru ini.

Static Sites

1
Gatsby

Gatsby

⚛️📄🚀 Blazing fast static site generator for React
+9.7k

Trends in 2017

717
481
508
438
573
505
2.1k
664
698
1.1k
796
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-05
  • Total stars
    17.7k

Links

2
Hexo

Hexo

A fast, simple & powerful blog framework, powered by Node.js.
+6.2k

Trends in 2017

664
519
609
487
469
431
494
537
471
509
476
486
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2012-09
  • Total stars
    20.3k

Links

3
React Static

React Static

⚛️ 🚀 A progressive static-site generator for React.
+3.0k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
2.2k
341
338
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2017-09
  • Total stars
    3.2k

Links

4
Phenomic

Phenomic

Modular website compiler ⚡️
+1.4k

Trends in 2017

140
392
123
103
127
125
92
59
50
77
42
67
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-09
  • Total stars
    2.8k

Links

5
Metalsmith

Metalsmith

An extremely simple, pluggable static site generator.
+1.0k

Trends in 2017

107
90
72
85
82
72
136
73
81
72
80
61
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-02
  • Total stars
    6.5k

Links

Static site generators (atau "SSG") adalah tools dan membuatkan file-file .html, .css dan file JavaScript yang dapat dideploy di server web manapun tanpa memikirkan database. Static web sites sangat cepat, dapat diandalkan dan mudah di diurus.

Nomor 2 tahun 2016, Gatsby melakukan balas dendam di tahun 2017. Ia datang dengan fitur-fitur keren yang membantu mengoptimalkan static site kita:

  • Fast browsing & exporting
  • Aggressive preloading
  • Intelligent code splitting (templates + page data)

Gatsby menggunakan React sebagai layer view dan GraphQL untuk melakukan query konten saat building time. Ia memiliki komunitas yang cukup kuat dan React official web site juga dibuat dengan Gatsby.

React Static adalah pendatang baru di kategori ini. Ia bertujuan untuk memberikan alternatif lebih ringan di banding Gatsby, dengan fokus pada performa dan kesederhanaan, terinspirasi oleh proyek Create React App.

Perlu juga disebutkan proyek Next.js dan Nuxt yang dapat dipakai juga sebagai Static Site Generators.

GraphQL

1
Gatsby

Gatsby

⚛️📄🚀 Blazing fast static site generator for React
+9.7k

Trends in 2017

717
481
508
438
573
505
2.1k
664
698
1.1k
796
1.2k
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-05
  • Total stars
    17.7k

Links

2
React Starter Kit

React Starter Kit

React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel, Post
+4.3k

Trends in 2017

414
371
363
417
449
358
350
367
308
347
313
258
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2014-04
  • Total stars
    16.7k

Links

3
Apollo client

Apollo client

:rocket: A fully-featured, production ready caching GraphQL client for every UI framework and GraphQ
+4.1k

Trends in 2017

N/A
64
338
348
285
295
327
295
331
414
438
393
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2016-02
  • Total stars
    5.7k

Links

4
GraphQL

GraphQL

GraphQL is a query language and execution engine tied to any backend service.
+2.8k

Trends in 2017

127
165
266
250
323
250
220
210
250
244
212
276
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-07
  • Total stars
    7.1k

Links

5
GraphiQL

GraphiQL

An in-browser IDE for exploring GraphQL.
+2.6k

Trends in 2017

N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
213
222
242
J
F
M
A
M
J
J
A
S
O
N
D

GitHub data

  • Created
    2015-08
  • Total stars
    4.8k

Links

Saat sejarawan masa depan melihat kembali sejarah GraphQL, tahun 2017 mungkin menjadi sebuah titik balik yang penting.

Perusahaan besar seperti the New York Times mulai mengadopsi GraphQL, dan dua pustaka yang paling populer Relay dan Apollo merilis update besar.

Diantara dua pemain ini, perusahaan seperti Graphcool juga merilis banyak tools dan pustaka, juga framework full-stack seperti Vulcan mulai mendapat pasar sendiri.

Perlu disebutkan juga juga bahwa static site generator paling populer tahun ini Gatsby juga menggunakan GraphQL sebagai salah satu bagian pemroses datanya.

Dengan banyak pemain yang ikut berkecimpung di galaksi GraphQL, hanya tinggal menunggu waktu hingga teknologi ini menjadi alternatif yang lebih besar terhadap REST.

Kesimpulan

Kami harap pembaca menikmati kajian dunia JavaScript tahun 2017.

Kita dapat melihat secara angkat bahwa Vue.js sekali lagi menjadi pemenang dan kesuksesannya sama sekali tidak melambat.

Ekosistem React masih terus berkembang setelah mengakhiri permasalahan seputar lisensi yang beberapa waktu lalu sempat gempar.

Namun jika kita harus memilih salah satu proyek diantara Rising Stars 2017 maka proyek tersebut haruslah Prettier. Proyek ini sangat berguna untuk membantu menulis kode tanpa perlu memikirkan kerapihan penulisan!

Dan untuk melihat analisis lain dari sudut pandang yang berbeda, pastikan pula pembaca mengunjungi State of JavaScript 2017 survey, dimana kami menerima dan menganalisis respon lebih dari 23.000 developer.

Jadi, proyek manakah yang menurut pembaca akan menjadi the next JavaScript Rising Stars tahun 2018?

  • Sebuah framework baru berbasis GraphQL?
  • Sebuah pustaka yang memanfaatkan standar WebAssembly untuk membuat pengalaman unik di peramban web?

Beri tahu kami apa pendapat pembaca! Untuk sementara ini, terimakasih atas perhatiannya dan jangan sungkan untuk membagikan artikel ini atau hubungi kami di GitHub jika ada kritik atau saran... terakhir sampai jumpa tahun depan!


Bahasa Indonesia

Authors

Sacha Grief
Sacha Grief
Author of Discover Meteor and creator of Vulcan, a React+GraphQL open-source framework.

Available Translations

English

中文

日本語

Français

Español