Belajar Next.Js Part 1
Tags: javascript, beginners, react, programming
Published: 2023-09-27 08:40:55

Next.js adalah kerangka kerja React fleksibel yang memberi anda landasan untuk membuat aplikasi web yang cepat.

Tapi apa sebenarnya yang maksud dengan hal tersbut? Mari luangkan waktu untuk mencari tahu apa itu React dan Next.js serta bagaimana keduanya dapat membantu.

## Building Blocks of a Web Application

Ada beberapa hal yang perlu Anda pertimbangkan ketika membangun aplikasi modern. Seperti:

1. **User Interface** - bagaimana pengguna akan menggunakan dan berinteraksi dengan aplikasi Anda.
2. **Routing** - cara pengguna bernavigasi di antara berbagai bagian aplikasi Anda.
3. **Data Fetching** - tempat data Anda berada dan cara mendapatkannya.
4. **Rendering** - kapan dan di mana Anda merender konten statis atau dinamis.
5. **Integrations** - layanan pihak ketiga yang Anda gunakan (CMS, autentikasi, pembayaran, dll) dan cara Anda terhubung ke layanan tersebut.
6. **Infrastructure** - tempat Anda menerapkan, menyimpan, dan menjalankan kode aplikasi Anda (Tanpa Server, CDN, Edge, dll).
7.** Performance** - cara mengoptimalkan aplikasi Anda untuk end-user.
8. **Scalability** - bagaimana aplikasi Anda beradaptasi seiring pertumbuhan tim, data, dan lalu lintas Anda.
9. **Developer Experience** - pengalaman tim Anda dalam membangun dan memelihara aplikasi Anda.

Untuk setiap bagian aplikasi Anda, Anda perlu memutuskan apakah Anda akan membangun solusi sendiri atau menggunakan alat lain seperti perpustakaan dan kerangka kerja.

## Apa itu React ?

React adalah JavaScript library untuk membangun tampilan antar muka pengguna yang interaktif.

Yang kami maksud dengan antarmuka pengguna adalah elemen yang dilihat dan berinteraksi dengan pengguna di layar. 


![React Js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pmqo6ltb0v8zraxymf47.png)
 
Yang dimaksud library adalah React menyediakan fungsi-fungsi yang berguna untuk membangun sebuah UI (Baca: User Interfaces), tapi itu kembali lagi kepada developer yang mengembangkan aplikasi tersebut akan menggunakan fungsi tersebut atau tidak. 

Salah satu dari kesuksesan React adalah React tidak memiliki pendapat yang kaku tentang bagaimana membangun aplikasi di luar manajemen antarmuka pengguna. Hal ini menyebabkan banyaknya alat dan solusi dari pihak ketiga yang berkembang pesat. Dengan kata lain, React fokus pada cara kita mengelola tampilan dan interaksi pengguna dalam aplikasi, sementara hal lain seperti bagaimana kita mengelola data atau rancangan aplikasi, dapat diatasi dengan berbagai alat yang berbeda sesuai dengan kebutuhan proyek. Ini memberikan kebebasan bagi pengembang untuk memilih dan mengintegrasikan alat dan solusi sesuai dengan yang mereka butuhkan tanpa harus terikat pada pendekatan atau pola tertentu.

Namun hal ini juga berarti bahwa membangun aplikasi React yang lengkap dari awal memerlukan efforts yang besar. Pengembang perlu meluangkan waktu untuk mengonfigurasi alat dan menemukan kembali solusi untuk kebutuhan aplikasi umum.

## Apa itu Next.Js

Next.Js adalah React framework yang dapat membantu Anda untuk membangun Blocks of a Web Application

Yang dimaksud dengan framework adalah Next.js dapat menghandle tools dan konfigurasi yang dibutuhkan oleh React, dan menyediakan struktur tambahan, fitur serta optimisasi untuk aplikasi Anda.


![Next Js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsruypw1hrej1eu3lqth.png)
 
Anda dapat menggunakan React untuk membangun antarmuka pengguna (UI) Anda, kemudian secara bertahap mengadopsi fitur-fitur Next.js untuk memenuhi kebutuhan umum aplikasi seperti routing, pengambilan data, integrasi - semua sambil meningkatkan pengalaman developer dan end-user.

Baik Anda seorang pengembang perorangan atau bagian dari tim yang lebih besar, Anda dapat memanfaatkan React dan Next.js untuk membangun aplikasi web yang sepenuhnya interaktif, sangat dinamis, dan performa tinggi.

source : https://nextjs.org/learn/foundations/about-nextjs