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
3
Create React App

Create React App

Create React apps with no build configuration.
+22.5k
4
Puppeteer

Puppeteer

Headless Chrome Node API
+22.0k
5
Axios

Axios

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

VS Code

Visual Studio Code
+20.2k
7
Prettier

Prettier

Prettier is an opinionated code formatter.
+17.7k
8
React Native

React Native

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

Element

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

Electron

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

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
2
React

React

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

Angular

One framework. Mobile & desktop.
+12.2k
4
Preact

Preact

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

Hyperapp

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

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
2
Koa

Koa

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

Fastify

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

Gun

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

micro

Asynchronous HTTP microservices
+3.2k

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
2
Ant Design

Ant Design

🐜 A UI Design Language
+13.3k
3
Next.js

Next.js

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

Storybook

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

Gatsby

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

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
2
iView

iView

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

Vuex

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

Weex

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

Nuxt

Versatile Vue.js Framework
+6.3k
6
Vuetify

Vuetify

Material Component Framework for Vue.js 2
+6.3k
7
Mint UI

Mint UI

Mobile UI elements for Vue.js
+5.5k
8
vux

vux

Mobile UI Components based on Vue & WeUI
+4.6k
9
vue-router

vue-router

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

Vue material

Material design for Vue.js
+3.7k

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
2
Weex

Weex

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

Ionic

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

Quasar

Quasar Framework
+3.7k
5
NativeScript

NativeScript

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

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
2
Babel

Babel

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

Flow

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

Reason

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

Purescript

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

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
2
Webpack

Webpack

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

Gulp

The streaming build system
+3.6k
4
Rollup

Rollup

Next-generation ES6 module bundler
+3.5k
5
Poi

Poi

:zap: Delightful web development.
+2.7k

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
2
AVA

AVA

:rocket: Futuristic JavaScript test runner
+4.8k
3
Mocha

Mocha

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

Jasmine

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

Tape

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

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
2
Atom

Atom

:atom: The hackable text editor
+9.1k
3
Reactide

Reactide

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

Brackets

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

Nuclide

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

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
2
CSS Modules

CSS Modules

Documentation about css-modules
+2.9k
3
Polished

Polished

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

Glamorous

💄 Maintainable CSS with React
+2.9k
5
Emotion

Emotion

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

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
2
Hexo

Hexo

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

React Static

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

Phenomic

Modular website compiler ⚡️
+1.4k
5
Metalsmith

Metalsmith

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

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
2
React Starter Kit

React Starter Kit

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

Apollo client

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

GraphQL

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

GraphiQL

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

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