<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ubay Lahmudien</title>
    <description>The latest articles on DEV Community by Ubay Lahmudien (@mudienub).</description>
    <link>https://dev.to/mudienub</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3373119%2Fcd6d916f-8eb1-490a-b990-e60039af6100.png</url>
      <title>DEV Community: Ubay Lahmudien</title>
      <link>https://dev.to/mudienub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mudienub"/>
    <language>en</language>
    <item>
      <title>How You Load a JSON File Determines How Your Data Is Processed</title>
      <dc:creator>Ubay Lahmudien</dc:creator>
      <pubDate>Tue, 04 Aug 2026 08:30:05 +0000</pubDate>
      <link>https://dev.to/mudienub/how-you-load-a-json-file-determines-how-your-data-is-processed-3ch3</link>
      <guid>https://dev.to/mudienub/how-you-load-a-json-file-determines-how-your-data-is-processed-3ch3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;🇮🇩 &lt;strong&gt;Originally written in Indonesian.&lt;/strong&gt;&lt;br&gt;
This English version was AI-assisted and adapted for a more natural reading experience. It is not a literal translation.&lt;br&gt;
&lt;a href="https://dev.to/mudienub/cara-mengambil-file-json-menentukan-bagaimana-data-diproses-15f4"&gt;open_&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;As a Frontend Developer...&lt;/p&gt;

&lt;p&gt;I think we've all built projects without a backend at some point.&lt;/p&gt;

&lt;p&gt;Either because the project simply doesn't need one...&lt;/p&gt;

&lt;p&gt;or because the backend hasn't been built yet. :)&lt;/p&gt;

&lt;p&gt;In cases like that...&lt;/p&gt;

&lt;p&gt;the data usually doesn't come from an API.&lt;/p&gt;

&lt;p&gt;Instead, it's stored directly inside the project. Some people put it in &lt;code&gt;data.ts&lt;/code&gt; or &lt;code&gt;data.tsx&lt;/code&gt;, while others prefer separating it into a &lt;code&gt;.json&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;That's actually pretty common.&lt;/p&gt;

&lt;p&gt;Especially for portfolio websites, landing pages, company profiles, or those random side projects that somehow never get finished. As long as the data never changes... it can happily stay there until one day you suddenly feel like refactoring it. &lt;/p&gt;

&lt;p&gt;ㄟ( ▔, ▔ )ㄏ&lt;/p&gt;

&lt;p&gt;So...&lt;/p&gt;

&lt;p&gt;the real question is no longer &lt;strong&gt;where the data is stored&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;how is that data actually processed? Statically... or dynamically?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;p&gt;If the data is stored as an object or array inside &lt;code&gt;data.ts&lt;/code&gt;, &lt;code&gt;data.tsx&lt;/code&gt;, or a &lt;code&gt;data/&lt;/code&gt; folder full of TypeScript files...&lt;/p&gt;

&lt;p&gt;I think we all know what happens.&lt;/p&gt;

&lt;p&gt;That data simply becomes part of the application's source code.&lt;/p&gt;

&lt;p&gt;But then...&lt;/p&gt;

&lt;p&gt;what if the data is separated into a &lt;code&gt;.json&lt;/code&gt; file instead?&lt;/p&gt;

&lt;h3&gt;
  
  
  Static Data and Dynamic Data
&lt;/h3&gt;

&lt;p&gt;Before we continue...&lt;/p&gt;

&lt;p&gt;let's make sure we're talking about the same thing.&lt;/p&gt;

&lt;p&gt;To me, it's as simple as this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Static data&lt;/strong&gt; is data whose value is already determined beforehand and doesn't change while the application is running.&lt;/p&gt;

&lt;p&gt;If the data changes one day, we have to modify the source code (or the file that stores it) and rebuild the application before those changes take effect.&lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;strong&gt;dynamic data&lt;/strong&gt; is data whose value can change while the application is running, without requiring another build.&lt;/p&gt;

&lt;p&gt;The changes can come from a server, a database, an API, or any other data source that's accessed while the application is running.&lt;/p&gt;

&lt;p&gt;Now...&lt;/p&gt;

&lt;p&gt;you probably already have a simple picture of the difference between the two.&lt;/p&gt;




&lt;h3&gt;
  
  
  What If the Data Is Stored in a JSON File?
&lt;/h3&gt;

&lt;p&gt;Now...&lt;/p&gt;

&lt;p&gt;another question usually comes up.&lt;/p&gt;

&lt;p&gt;If the data is already stored as a &lt;code&gt;.json&lt;/code&gt; file...&lt;/p&gt;

&lt;p&gt;how do we actually load it?&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;At least...&lt;/p&gt;

&lt;p&gt;there are two approaches that I see quite often.&lt;/p&gt;

&lt;p&gt;And the funny thing is...&lt;/p&gt;

&lt;p&gt;both of them are widely used. (￣▽￣*))&lt;/p&gt;

&lt;h4&gt;
  
  
  The first one...
&lt;/h4&gt;

&lt;p&gt;store the JSON file somewhere like &lt;code&gt;@/data/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;and simply &lt;code&gt;import&lt;/code&gt; it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/data/projects.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;Yep.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;Just like that. (￣▽￣)&lt;/p&gt;

&lt;p&gt;You can use it like any other object or array.&lt;/p&gt;




&lt;h4&gt;
  
  
  The second approach...
&lt;/h4&gt;

&lt;p&gt;put the JSON file inside the &lt;code&gt;public&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;Then, whenever you need it...&lt;/p&gt;

&lt;p&gt;just &lt;code&gt;fetch&lt;/code&gt; it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/projects.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This approach is also pretty common.&lt;/p&gt;

&lt;p&gt;Especially in projects that are expected to use a backend later.&lt;/p&gt;

&lt;p&gt;Because once the data moves to an API, the way you retrieve it barely changes.&lt;/p&gt;

&lt;p&gt;You're still making an HTTP request.&lt;/p&gt;




&lt;h3&gt;
  
  
  Using &lt;code&gt;import&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;When you use &lt;code&gt;import&lt;/code&gt;, the JSON file becomes part of the build process.&lt;/p&gt;

&lt;p&gt;So by the time the application runs, the data is already there.&lt;/p&gt;

&lt;p&gt;That's why you can access it just like any normal object.&lt;/p&gt;




&lt;h3&gt;
  
  
  Using &lt;code&gt;fetch()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;fetch()&lt;/code&gt; works a little differently.&lt;/p&gt;

&lt;p&gt;The browser sends an HTTP request while the application is running.&lt;/p&gt;

&lt;p&gt;And it doesn't have to be a REST API.&lt;/p&gt;

&lt;p&gt;It can request a JSON file, an image, a video, or any other resource that's available through a URL.&lt;/p&gt;

&lt;p&gt;Simply put...&lt;/p&gt;

&lt;p&gt;as long as the resource is accessible over HTTP, &lt;code&gt;fetch()&lt;/code&gt; can retrieve it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing
&lt;/h2&gt;

&lt;p&gt;If you think about it...&lt;/p&gt;

&lt;p&gt;it's actually not the JSON file itself that determines whether the data is static or dynamic.&lt;/p&gt;

&lt;p&gt;What really matters is how you use it inside your project.&lt;/p&gt;

&lt;p&gt;The exact same file...&lt;/p&gt;

&lt;p&gt;even with the exact same content...&lt;/p&gt;

&lt;p&gt;can be processed differently depending on what your application needs.&lt;/p&gt;

&lt;p&gt;And personally...&lt;/p&gt;

&lt;p&gt;I think that's the interesting part.&lt;/p&gt;

&lt;p&gt;Sometimes what looks like nothing more than "a place to store data" actually influences how the application treats that data.&lt;/p&gt;

&lt;p&gt;Once your project starts dealing with sensitive information, though...&lt;/p&gt;

&lt;p&gt;it's probably time to stop storing it in the frontend.&lt;/p&gt;

&lt;p&gt;Because once something reaches the browser...&lt;/p&gt;

&lt;p&gt;it's essentially public.&lt;/p&gt;

&lt;p&gt;The rest...&lt;/p&gt;

&lt;p&gt;well, let the backend handle it.&lt;/p&gt;

&lt;p&gt;The frontend doesn't have to keep everything.&lt;/p&gt;

&lt;p&gt;After all...&lt;/p&gt;

&lt;p&gt;that's the backend's job.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(￣▽￣)&lt;/em&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Don't forget a cup of coffee today ☕&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Cara Mengambil File JSON Menentukan Bagaimana Data Diproses</title>
      <dc:creator>Ubay Lahmudien</dc:creator>
      <pubDate>Tue, 04 Aug 2026 08:25:14 +0000</pubDate>
      <link>https://dev.to/mudienub/cara-mengambil-file-json-menentukan-bagaimana-data-diproses-15f4</link>
      <guid>https://dev.to/mudienub/cara-mengambil-file-json-menentukan-bagaimana-data-diproses-15f4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/mudienub/how-you-load-a-json-file-determines-how-your-data-is-processed-3ch3"&gt;&lt;em&gt;This article is also available in English&lt;/em&gt;_&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pendahuluan
&lt;/h2&gt;

&lt;p&gt;Sebagai Frontend Developer...&lt;/p&gt;

&lt;p&gt;rasanya kita semua pernah membuat project tanpa backend.&lt;/p&gt;

&lt;p&gt;Entah karena memang tidak memakai backend...&lt;/p&gt;

&lt;p&gt;atau mungkin backend-nya memang belum sempat dibuat. :)&lt;/p&gt;

&lt;p&gt;Biasanya data tidak lagi diambil dari API.&lt;/p&gt;

&lt;p&gt;Melainkan disimpan langsung di dalam project. Ada yang membuat &lt;code&gt;data.ts&lt;/code&gt;, &lt;code&gt;data.tsx&lt;/code&gt;, ada juga yang lebih suka memisahkannya menjadi file &lt;code&gt;.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Hal seperti ini sudah cukup umum.&lt;/p&gt;

&lt;p&gt;Apalagi kalau project-nya hanya sebatas portofolio, landing page, company profile, atau project gabut pengisi waktu luang yang entah kapan akan dilanjutkan lagi. Yang jelas, datanya tidak akan berubah sampai suatu hari muncul niat untuk refactor.&lt;/p&gt;

&lt;p&gt;ㄟ( ▔, ▔ )ㄏ&lt;/p&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;yang jadi pertanyaan bukan lagi &lt;strong&gt;di mana datanya disimpan&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Tapi...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;bagaimana data itu diproses? Secara statis atau justru secara dinamis?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Pembahasan
&lt;/h2&gt;

&lt;p&gt;Kalau datanya disimpan sebagai object atau array di dalam &lt;code&gt;data.ts&lt;/code&gt;, &lt;code&gt;data.tsx&lt;/code&gt;, atau folder &lt;code&gt;data/&lt;/code&gt; yang isinya penuh file TypeScript...&lt;/p&gt;

&lt;p&gt;rasanya kita semua sudah tahu.&lt;/p&gt;

&lt;p&gt;Data tersebut sudah menjadi bagian dari source code aplikasi.&lt;/p&gt;

&lt;p&gt;Lalu...&lt;/p&gt;

&lt;p&gt;bagaimana kalau data tersebut dipisahkan menjadi file &lt;code&gt;.json&lt;/code&gt;?&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Statis dan Data Dinamis
&lt;/h3&gt;

&lt;p&gt;Sebelum lanjut ke sana...&lt;/p&gt;

&lt;p&gt;kita samakan dulu pemahamannya.&lt;/p&gt;

&lt;p&gt;Menurut saya, sesederhana ini.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data statis&lt;/strong&gt; adalah data yang nilainya sudah ditentukan sejak awal dan tidak berubah selama aplikasi berjalan.&lt;/p&gt;

&lt;p&gt;Kalau suatu hari datanya berubah, kita harus mengubah source code atau file yang menyimpan data tersebut, kemudian melakukan &lt;em&gt;build&lt;/em&gt; ulang agar perubahan itu ikut digunakan.&lt;/p&gt;

&lt;p&gt;Sedangkan &lt;strong&gt;data dinamis&lt;/strong&gt; adalah data yang nilainya dapat berubah ketika aplikasi sedang berjalan, tanpa harus melakukan proses &lt;em&gt;build&lt;/em&gt; ulang.&lt;/p&gt;

&lt;p&gt;Perubahannya bisa berasal dari server, database, API, atau sumber data lain yang diambil saat aplikasi sedang berjalan.&lt;/p&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;sekarang mungkin kalian sudah punya gambaran sederhana mengenai perbedaan keduanya.&lt;/p&gt;




&lt;h3&gt;
  
  
  Bagaimana Jika Menyimpannya Sebagai File JSON
&lt;/h3&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;sampai di sini mungkin muncul pertanyaan lain.&lt;/p&gt;

&lt;p&gt;Kalau datanya sudah menjadi file &lt;code&gt;.json&lt;/code&gt;...&lt;/p&gt;

&lt;p&gt;cara mengambilnya bagaimana?&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Setidaknya...&lt;/p&gt;

&lt;p&gt;ada dua cara yang paling sering saya temui.&lt;/p&gt;

&lt;p&gt;Dan lucunya, dua-duanya sama-sama sering dipakai. (￣▽￣*))&lt;/p&gt;

&lt;h4&gt;
  
  
  Yang pertama...
&lt;/h4&gt;

&lt;p&gt;file JSON disimpan di folder &lt;code&gt;@/data/&lt;/code&gt; atau di mana saja &lt;/p&gt;

&lt;p&gt;lalu cukup di-&lt;code&gt;import&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@/data/projects.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Selesai.&lt;/p&gt;

&lt;p&gt;Ya.&lt;/p&gt;

&lt;p&gt;Sudah.&lt;/p&gt;

&lt;p&gt;Begitu saja. (￣▽￣)&lt;/p&gt;

&lt;p&gt;Tinggal dipakai seperti object atau array pada umumnya.&lt;/p&gt;




&lt;h4&gt;
  
  
  Cara kedua...
&lt;/h4&gt;

&lt;p&gt;file JSON diletakkan di folder &lt;code&gt;public&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Lalu ketika dibutuhkan...&lt;/p&gt;

&lt;p&gt;tinggal &lt;code&gt;fetch&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/projects.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cara seperti ini juga cukup sering saya temui.&lt;/p&gt;

&lt;p&gt;Apalagi kalau project tersebut suatu saat akan memakai backend.&lt;/p&gt;

&lt;p&gt;Karena ketika nanti datanya dipindahkan ke API, cara mengambilnya hampir tidak banyak berubah.&lt;/p&gt;

&lt;p&gt;Masih sama-sama menggunakan request HTTP.&lt;/p&gt;




&lt;h3&gt;
  
  
  Menggunakan &lt;code&gt;import&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Saat menggunakan &lt;code&gt;import&lt;/code&gt;, file JSON akan ikut diproses ketika aplikasi di-&lt;em&gt;build&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Jadi ketika aplikasi dijalankan, datanya sebenarnya sudah siap digunakan.&lt;/p&gt;

&lt;p&gt;Makanya kita tinggal mengaksesnya seperti object biasa.&lt;/p&gt;




&lt;h3&gt;
  
  
  Menggunakan &lt;code&gt;fetch()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Kalau &lt;code&gt;fetch()&lt;/code&gt; sedikit berbeda.&lt;/p&gt;

&lt;p&gt;Browser akan melakukan request HTTP ketika aplikasi sedang berjalan.&lt;/p&gt;

&lt;p&gt;Tidak harus ke REST API.&lt;/p&gt;

&lt;p&gt;Bisa juga ke file JSON, gambar, video, atau resource lain yang memiliki URL.&lt;/p&gt;

&lt;p&gt;Sederhananya...&lt;/p&gt;

&lt;p&gt;selama resource tersebut bisa diakses melalui HTTP, &lt;code&gt;fetch()&lt;/code&gt; bisa mengambilnya.&lt;/p&gt;




&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Kalau dipikir-pikir...&lt;/p&gt;

&lt;p&gt;ternyata bukan file JSON yang menentukan apakah data tersebut bersifat statis atau dinamis.&lt;/p&gt;

&lt;p&gt;Yang menentukan justru bagaimana kita menggunakannya di dalam project.&lt;/p&gt;

&lt;p&gt;File yang sama...&lt;/p&gt;

&lt;p&gt;bahkan isi yang sama...&lt;/p&gt;

&lt;p&gt;bisa saja diproses dengan cara yang berbeda sesuai kebutuhan aplikasi.&lt;/p&gt;

&lt;p&gt;Dan menurut saya, di situlah menariknya.&lt;/p&gt;

&lt;p&gt;Kadang yang kita anggap hanya "tempat menyimpan data", ternyata juga ikut memengaruhi bagaimana aplikasi memperlakukan data tersebut.&lt;/p&gt;

&lt;p&gt;Kalau memang project-nya mulai memiliki data yang bersifat sensitif, sebaiknya jangan lagi menyimpannya di frontend.&lt;/p&gt;

&lt;p&gt;Karena apa pun yang sudah dikirim ke browser, pada dasarnya sudah menjadi konsumsi publik.&lt;/p&gt;

&lt;p&gt;Sisanya...&lt;/p&gt;

&lt;p&gt;ya biarkan backend yang bekerja.&lt;/p&gt;

&lt;p&gt;Frontend tidak perlu ikut menyimpan semua hal.&lt;/p&gt;

&lt;p&gt;Toh itu memang urusan backend&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(￣▽￣)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;oke... terimakasih &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Don't forget a cup of coffee today ☕&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>frontend</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why Many Frontend Developers Use Next.js for work, but Vue.js for Personal Projects</title>
      <dc:creator>Ubay Lahmudien</dc:creator>
      <pubDate>Sat, 18 Jul 2026 09:59:03 +0000</pubDate>
      <link>https://dev.to/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419</link>
      <guid>https://dev.to/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;🇮🇩 &lt;strong&gt;Originally written in Indonesian.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;This English version was AI-assisted and adapted for a more natural reading experience. It is not a literal translation.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://dev.to/mudienub/kenapa-banyak-frontend-developer-memakai-nextjs-untuk-pekerjaan-tapi-vuejs-untuk-personal-2o35"&gt;_&lt;em&gt;open&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Lately, I've been having quite a few discussions with frontend developers about the frameworks they use.&lt;/p&gt;

&lt;p&gt;My question is actually pretty simple.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"When you're building a web frontend, what framework do you usually use?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Almost everyone gave more or less the same answer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"It depends on the project."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And honestly, I agree.&lt;/p&gt;

&lt;p&gt;There's no framework that's always the best choice for every situation.&lt;/p&gt;

&lt;p&gt;However, as the conversation went on, they started sharing their own experiences and preferences.&lt;/p&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;That's when I started noticing an interesting pattern.&lt;/p&gt;

&lt;p&gt;Among the developers I talked to, quite a few of them mentioned that they usually use &lt;strong&gt;Next.js / React&lt;/strong&gt; for work, while &lt;strong&gt;Vue.js&lt;/strong&gt; is what they often choose for personal projects.&lt;/p&gt;

&lt;p&gt;The interesting part is...&lt;/p&gt;

&lt;p&gt;I never actually asked,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What do you use at work?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What do you use for personal projects?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That explanation came up naturally as they explained why they preferred certain frameworks.&lt;/p&gt;

&lt;p&gt;At first, I thought it was just a coincidence.&lt;/p&gt;

&lt;p&gt;But after hearing the same pattern from several different people...&lt;/p&gt;

&lt;p&gt;I got curious.&lt;/p&gt;

&lt;p&gt;Why do so many developers who are comfortable with both frameworks end up separating how they use them?&lt;/p&gt;

&lt;p&gt;(・_・;)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This isn't based on an official survey or research.&lt;/p&gt;

&lt;p&gt;It's simply an interesting pattern I noticed after talking with several frontend developers.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vue.js
&lt;/h3&gt;

&lt;p&gt;Looking at today's frontend ecosystem, Vue.js is clearly not a small framework.&lt;/p&gt;

&lt;p&gt;Its community is large.&lt;/p&gt;

&lt;p&gt;Its documentation is great.&lt;/p&gt;

&lt;p&gt;Its ecosystem is also quite mature.&lt;/p&gt;

&lt;p&gt;That said, compared to React and Next.js, its community is still smaller.&lt;/p&gt;

&lt;p&gt;Then another question comes to mind.&lt;/p&gt;

&lt;p&gt;If that's the case...&lt;/p&gt;

&lt;p&gt;Why do so many developers still choose Vue.js for personal projects?&lt;/p&gt;

&lt;p&gt;From the answers I heard, the main reason wasn't performance.&lt;/p&gt;

&lt;p&gt;And it wasn't because other frameworks were bad either.&lt;/p&gt;

&lt;p&gt;Instead, it came down to the &lt;strong&gt;development experience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Vue projects often feel easier to read.&lt;/p&gt;

&lt;p&gt;Single File Components (&lt;code&gt;.vue&lt;/code&gt;) keep the template, logic, and styles organized in one place.&lt;/p&gt;

&lt;p&gt;When coming back to an old project after a long time, many developers feel it's easier to understand the code again.&lt;/p&gt;

&lt;p&gt;Besides that, for solo projects, Vue feels lightweight.&lt;/p&gt;

&lt;p&gt;You don't have to think about a lot of concepts that you don't actually need yet.&lt;/p&gt;

&lt;p&gt;You can simply focus on building the application.&lt;/p&gt;

&lt;p&gt;(づ￣ 3￣)づ&lt;/p&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;This made me wonder again.&lt;/p&gt;

&lt;p&gt;If Vue feels more comfortable to work with...&lt;/p&gt;

&lt;p&gt;Why not use it for work as well?&lt;/p&gt;




&lt;h3&gt;
  
  
  Next.js
&lt;/h3&gt;

&lt;p&gt;Speaking of Next.js...&lt;/p&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;It's hard to deny.&lt;/p&gt;

&lt;p&gt;Its ecosystem is huge.&lt;/p&gt;

&lt;p&gt;Almost everything already has a library or solution available.&lt;/p&gt;

&lt;p&gt;If you run into a problem...&lt;/p&gt;

&lt;p&gt;There's a good chance someone else has already faced it.&lt;/p&gt;

&lt;p&gt;Tutorials are everywhere.&lt;/p&gt;

&lt;p&gt;Articles are everywhere.&lt;/p&gt;

&lt;p&gt;Videos are everywhere.&lt;/p&gt;

&lt;p&gt;And GitHub repositories are abundant.&lt;/p&gt;

&lt;p&gt;(´･ω･`)&lt;/p&gt;

&lt;p&gt;On top of that, React and Next.js have become some of the most common technologies in the industry.&lt;/p&gt;

&lt;p&gt;As a result, many frontend developers are already familiar with them.&lt;/p&gt;

&lt;p&gt;For companies, that's obviously an advantage.&lt;/p&gt;

&lt;p&gt;If the team grows, finding new developers becomes much easier.&lt;/p&gt;

&lt;p&gt;If someone leaves the team, the handover process is usually much smoother.&lt;/p&gt;

&lt;p&gt;Not to mention that many new libraries tend to appear in the React ecosystem first.&lt;/p&gt;

&lt;p&gt;So...&lt;/p&gt;

&lt;p&gt;It's not simply because Next.js is a better framework.&lt;/p&gt;

&lt;p&gt;It's because its ecosystem and industry adoption are already incredibly mature.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing
&lt;/h2&gt;

&lt;p&gt;Well...&lt;/p&gt;

&lt;p&gt;Maybe by this point, you already know where this discussion is heading.&lt;/p&gt;

&lt;p&gt;Or maybe you've already come up with your own answer.&lt;/p&gt;

&lt;p&gt;(￣▽￣)&lt;/p&gt;

&lt;p&gt;Looking back at everything we've discussed...&lt;/p&gt;

&lt;p&gt;I don't think this is really about which framework is better.&lt;/p&gt;

&lt;p&gt;It all comes down to the needs of the project.&lt;/p&gt;

&lt;p&gt;And of course...&lt;/p&gt;

&lt;p&gt;Every framework has its own strengths and weaknesses.&lt;/p&gt;

&lt;p&gt;It's simply a matter of understanding what your application actually needs.&lt;/p&gt;

&lt;p&gt;If you're already comfortable using one framework for everything...&lt;/p&gt;

&lt;p&gt;Then just keep using it.&lt;/p&gt;

&lt;p&gt;After all, what matters most is that your application is maintainable and enjoyable to build.&lt;/p&gt;

&lt;p&gt;If you're comfortable with multiple frameworks...&lt;/p&gt;

&lt;p&gt;Then choose whichever one fits the situation best.&lt;/p&gt;

&lt;p&gt;Or...&lt;/p&gt;

&lt;p&gt;Maybe trying a different framework in your personal projects is simply part of an enjoyable learning journey.&lt;/p&gt;

&lt;p&gt;Because, in my opinion...&lt;/p&gt;

&lt;p&gt;Personal projects are the best place to experiment.&lt;/p&gt;

&lt;p&gt;There's no rule saying you have to use a particular framework.&lt;/p&gt;

&lt;p&gt;As long as it fits your needs and you enjoy the process...&lt;/p&gt;

&lt;p&gt;I think it's all perfectly fine.&lt;/p&gt;

&lt;p&gt;(づ￣ 3￣)づ&lt;/p&gt;

&lt;p&gt;So...&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;Do you also separate frameworks depending on the situation?&lt;/p&gt;

&lt;p&gt;Or do you prefer sticking with one framework for everything?&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts and experiences.&lt;/p&gt;

&lt;p&gt;Who knows...&lt;/p&gt;

&lt;p&gt;Maybe there's another perspective I haven't come across yet.&lt;/p&gt;

&lt;p&gt;( •̀ᴗ•́ )و&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>nextjs</category>
      <category>vue</category>
    </item>
    <item>
      <title>Kenapa Banyak Frontend Developer Memakai Next.js untuk Pekerjaan, tapi Vue.js untuk Personal Project?</title>
      <dc:creator>Ubay Lahmudien</dc:creator>
      <pubDate>Sat, 18 Jul 2026 09:25:24 +0000</pubDate>
      <link>https://dev.to/mudienub/kenapa-banyak-frontend-developer-memakai-nextjs-untuk-pekerjaan-tapi-vuejs-untuk-personal-2o35</link>
      <guid>https://dev.to/mudienub/kenapa-banyak-frontend-developer-memakai-nextjs-untuk-pekerjaan-tapi-vuejs-untuk-personal-2o35</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/mudienub/why-many-frontend-developers-use-nextjs-for-workbut-vuejs-for-personal-projects-2419"&gt;&lt;em&gt;This article is also available in English&lt;/em&gt;_&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Pendahuluan
&lt;/h2&gt;

&lt;p&gt;Beberapa waktu terakhir saya sering berdiskusi dengan beberapa frontend developer mengenai framework yang mereka gunakan.&lt;/p&gt;

&lt;p&gt;Pertanyaan saya sebenarnya sederhana.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kalau membuat frontend web, biasanya pakai framework apa?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hampir semuanya memberikan jawaban yang kurang lebih sama.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Tergantung kebutuhan."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dan saya setuju.&lt;/p&gt;

&lt;p&gt;Tidak ada framework yang selalu menjadi pilihan terbaik untuk semua kondisi.&lt;/p&gt;

&lt;p&gt;Namun, setelah pembahasannya berlanjut, mereka mulai menceritakan pengalaman dan preferensinya masing-masing.&lt;/p&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;Di sinilah saya mulai menemukan pola yang menarik.&lt;/p&gt;

&lt;p&gt;Dari beberapa developer yang saya ajak berdiskusi, cukup banyak yang mengatakan bahwa mereka lebih sering menggunakan &lt;strong&gt;Next.js / React&lt;/strong&gt; untuk pekerjaan, sedangkan &lt;strong&gt;Vue.js&lt;/strong&gt; lebih sering digunakan untuk personal project.&lt;/p&gt;

&lt;p&gt;Padahal saya tidak pernah bertanya,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kalau kerja pakai apa?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;atau&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kalau project pribadi pakai apa?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Penjelasan itu muncul begitu saja ketika mereka mulai menjelaskan alasan di balik framework yang mereka pilih.&lt;/p&gt;

&lt;p&gt;Awalnya saya mengira itu hanya kebetulan.&lt;/p&gt;

&lt;p&gt;Tapi setelah mendengar pola yang sama dari beberapa orang...&lt;/p&gt;

&lt;p&gt;Saya jadi penasaran.&lt;/p&gt;

&lt;p&gt;Kenapa banyak developer yang sudah menguasai keduanya justru memilih memisahkan penggunaannya?&lt;/p&gt;

&lt;p&gt;(・_・;)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tulisan ini bukan hasil survei atau penelitian resmi. Ini hanyalah pola yang saya temui dari beberapa frontend developer yang sempat saya ajak berdiskusi.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Pembahasan
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vue.js
&lt;/h3&gt;

&lt;p&gt;Kalau melihat ekosistem frontend saat ini, Vue.js jelas bukan framework yang kecil.&lt;/p&gt;

&lt;p&gt;Komunitasnya besar.&lt;/p&gt;

&lt;p&gt;Dokumentasinya bagus.&lt;/p&gt;

&lt;p&gt;Ekosistemnya juga sudah cukup matang.&lt;/p&gt;

&lt;p&gt;Namun memang harus diakui, jika dibandingkan dengan React dan Next.js, komunitasnya memang masih lebih kecil.&lt;/p&gt;

&lt;p&gt;Lalu muncul pertanyaan.&lt;/p&gt;

&lt;p&gt;Kalau begitu...&lt;/p&gt;

&lt;p&gt;Kenapa masih banyak yang memilih Vue.js untuk personal project?&lt;/p&gt;

&lt;p&gt;Dari beberapa jawaban yang saya dengar, ternyata alasan utamanya bukan karena performa.&lt;/p&gt;

&lt;p&gt;Bukan juga karena framework lain kurang bagus.&lt;/p&gt;

&lt;p&gt;Melainkan karena &lt;strong&gt;pengalaman saat mengembangkan project&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Struktur project di Vue terasa lebih mudah dibaca.&lt;/p&gt;

&lt;p&gt;Single File Component (&lt;code&gt;.vue&lt;/code&gt;) membuat template, logic, dan style berada di tempat yang jelas.&lt;/p&gt;

&lt;p&gt;Ketika project sudah lama tidak dibuka, banyak developer merasa lebih cepat memahami kembali alur kodenya.&lt;/p&gt;

&lt;p&gt;Selain itu, untuk project yang dikerjakan sendirian, Vue juga terasa ringan.&lt;/p&gt;

&lt;p&gt;Tidak perlu terlalu banyak memikirkan berbagai konsep yang sebenarnya belum dibutuhkan.&lt;/p&gt;

&lt;p&gt;Tinggal fokus membuat aplikasinya.&lt;/p&gt;

&lt;p&gt;(づ￣ 3￣)づ&lt;/p&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;Di sinilah saya kembali bertanya.&lt;/p&gt;

&lt;p&gt;Kalau memang Vue terasa lebih nyaman...&lt;/p&gt;

&lt;p&gt;Kenapa tidak sekalian dipakai untuk pekerjaan?&lt;/p&gt;




&lt;h3&gt;
  
  
  Next.js
&lt;/h3&gt;

&lt;p&gt;Kalau berbicara soal Next.js...&lt;/p&gt;

&lt;p&gt;Ya...&lt;/p&gt;

&lt;p&gt;Memang susah untuk dipungkiri.&lt;/p&gt;

&lt;p&gt;Ekosistemnya sangat besar.&lt;/p&gt;

&lt;p&gt;Hampir semua kebutuhan sudah ada library-nya.&lt;/p&gt;

&lt;p&gt;Kalau menemui masalah...&lt;/p&gt;

&lt;p&gt;Kemungkinan besar sudah ada orang lain yang pernah mengalaminya.&lt;/p&gt;

&lt;p&gt;Tutorial ada.&lt;/p&gt;

&lt;p&gt;Artikel ada.&lt;/p&gt;

&lt;p&gt;Video ada.&lt;/p&gt;

&lt;p&gt;Referensi GitHub juga melimpah.&lt;/p&gt;

&lt;p&gt;(´･ω･`)&lt;/p&gt;

&lt;p&gt;Selain itu, React dan Next.js juga menjadi teknologi yang sangat umum di industri.&lt;/p&gt;

&lt;p&gt;Akibatnya, cukup banyak frontend developer yang sudah menguasainya.&lt;/p&gt;

&lt;p&gt;Bagi perusahaan, kondisi seperti ini tentu menguntungkan.&lt;/p&gt;

&lt;p&gt;Kalau suatu saat tim bertambah, proses mencari developer baru menjadi lebih mudah.&lt;/p&gt;

&lt;p&gt;Kalau ada pergantian anggota tim, proses handover juga biasanya lebih sederhana.&lt;/p&gt;

&lt;p&gt;Belum lagi banyak library baru yang biasanya hadir lebih dulu di ekosistem React.&lt;/p&gt;

&lt;p&gt;Jadi...&lt;/p&gt;

&lt;p&gt;Bukan semata-mata karena framework ini lebih hebat.&lt;/p&gt;

&lt;p&gt;Tetapi karena ekosistem dan dukungan industrinya memang sudah sangat matang.&lt;/p&gt;




&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Nah...&lt;/p&gt;

&lt;p&gt;Mungkin sampai di sini sebagian dari kalian sudah tahu ke mana arah pembahasannya.&lt;/p&gt;

&lt;p&gt;Atau bahkan sudah memiliki jawaban kalian sendiri.&lt;/p&gt;

&lt;p&gt;(￣▽￣)&lt;/p&gt;

&lt;p&gt;Kalau melihat kembali pembahasan tadi...&lt;/p&gt;

&lt;p&gt;Saya rasa tidak ada framework yang benar-benar lebih unggul dari yang lain.&lt;/p&gt;

&lt;p&gt;Semuanya kembali lagi ke kebutuhan.&lt;/p&gt;

&lt;p&gt;Dan tentu saja...&lt;/p&gt;

&lt;p&gt;Setiap framework memiliki kelebihan dan kekurangannya masing-masing.&lt;/p&gt;

&lt;p&gt;Tinggal bagaimana kita menganalisis kebutuhan dari aplikasi yang akan dibuat.&lt;/p&gt;

&lt;p&gt;Kalau memang sudah nyaman menggunakan satu framework untuk semua kebutuhan...&lt;/p&gt;

&lt;p&gt;Ya pakai saja.&lt;/p&gt;

&lt;p&gt;Toh yang paling penting aplikasinya tetap bisa dikembangkan dan di-maintain dengan baik.&lt;/p&gt;

&lt;p&gt;Kalau memang menguasai lebih dari satu framework...&lt;/p&gt;

&lt;p&gt;Ya tinggal pilih mana yang paling cocok untuk kebutuhan saat itu.&lt;/p&gt;

&lt;p&gt;Atau...&lt;/p&gt;

&lt;p&gt;Mungkin justru mencoba framework lain saat mengerjakan personal project bisa menjadi bagian dari &lt;strong&gt;enjoyable learning&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Karena menurut saya...&lt;/p&gt;

&lt;p&gt;Personal project adalah tempat yang paling bebas untuk bereksperimen.&lt;/p&gt;

&lt;p&gt;Tidak ada aturan yang mengharuskan kita menggunakan framework tertentu.&lt;/p&gt;

&lt;p&gt;Selama sesuai kebutuhan dan kita menikmati prosesnya...&lt;/p&gt;

&lt;p&gt;Menurut saya, semuanya sah-sah saja.&lt;/p&gt;

&lt;p&gt;(づ￣ 3￣)づ&lt;/p&gt;

&lt;p&gt;Lalu...&lt;/p&gt;

&lt;p&gt;Bagaimana menurut kalian?&lt;/p&gt;

&lt;p&gt;Apakah kalian juga memisahkan framework berdasarkan kebutuhan seperti ini?&lt;/p&gt;

&lt;p&gt;Atau justru menggunakan satu framework untuk semua project?&lt;/p&gt;

&lt;p&gt;Saya penasaran dengan pengalaman dan sudut pandang kalian.&lt;/p&gt;

&lt;p&gt;Siapa tahu, ada alasan lain yang belum pernah saya dengar.&lt;/p&gt;

&lt;p&gt;( •̀ᴗ•́ )و&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>nextjs</category>
      <category>vue</category>
    </item>
    <item>
      <title>Mencoba Merancang Ulang Web Portofolio</title>
      <dc:creator>Ubay Lahmudien</dc:creator>
      <pubDate>Wed, 24 Jun 2026 04:59:58 +0000</pubDate>
      <link>https://dev.to/mudienub/mencoba-merancang-ulang-web-portofolio-242k</link>
      <guid>https://dev.to/mudienub/mencoba-merancang-ulang-web-portofolio-242k</guid>
      <description>&lt;p&gt;&lt;em&gt;Ubay Lahmudien – Kediri, 7 Februari 2026&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tujuan &amp;amp; Latar Belakang
&lt;/h2&gt;

&lt;p&gt;Anda sudah tahu bahwa CV dan portofolio itu selalu berjalan beriringan. Seiring waktu, portofolio kita juga akan terus bertambah.&lt;/p&gt;

&lt;p&gt;Sebagai seorang programmer, biasanya di awal belajar kita sering disuguhi tutorial membuat web sederhana. Lalu di akhir &lt;em&gt;course&lt;/em&gt;, hampir selalu diminta membuat web portofolio yang berisi CV singkat dan kumpulan &lt;em&gt;project&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Awalnya, saya sempat bertanya,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Masih perlu nggak sih bikin web portofolio sendiri?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Soalnya, kalau dilihat, &lt;a href="https://www.linkedin.com/" rel="noopener noreferrer"&gt;&lt;em&gt;LinkedIn&lt;/em&gt;&lt;/a&gt; itu sudah cukup lengkap. Data CV ada, portofolio bisa ditampilkan, bahkan bisa langsung dipakai untuk melamar kerja. Rasanya sudah cukup.&lt;/p&gt;

&lt;p&gt;Tapi setelah berdiskusi dengan teman dan juga tanya jawab dengan &lt;a href="https://chatgpt.com/" rel="noopener noreferrer"&gt;&lt;em&gt;ChatGPT&lt;/em&gt;&lt;/a&gt;, saya sadar kalau web portofolio itu bukan cuma soal dokumen lamaran. Web portofolio bisa jadi identitas kita. Ketika kita membuatnya sendiri, kesan jati diri kita lebih terasa.&lt;/p&gt;

&lt;p&gt;Akhirnya saya sahut,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Oke kalau begitu."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sebenarnya, saya sudah pernah membuat web portofolio sejak awal terjun ke dunia &lt;em&gt;coding&lt;/em&gt;, waktu masih ikut &lt;em&gt;bootcamp&lt;/em&gt;. Tapi kalau dilihat sekarang, desainnya terasa kurang nyaman atau jelek menurut &lt;em&gt;saya&lt;/em&gt;. Sulit dibaca, bikin capek mata, dan tampilannya terlalu kaku karena waktu itu saya tidak terlalu memperhatikan tema.&lt;/p&gt;

&lt;p&gt;Dulu, fokus saya cuma satu: &lt;strong&gt;kelihatan keren.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Saya pakai banyak animasi, &lt;em&gt;shadow&lt;/em&gt; yang berlebihan, warna-warna menyala, sampai efek &lt;em&gt;glass&lt;/em&gt; yang terlalu ramai. Secara visual mungkin menarik, tapi pesan utamanya malah jadi tidak tersampaikan dengan baik.&lt;/p&gt;

&lt;p&gt;Sekarang, dengan bertambahnya pengalaman dan ilmu yang saya dapat, satu kata untuk itu.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;code&gt;Rombak!!!&lt;/code&gt;
&lt;/h1&gt;

&lt;p&gt;Kenapa?&lt;/p&gt;

&lt;p&gt;Supaya lebih mudah dibaca, lebih nyaman dilihat, dan tujuan utamanya benar-benar sampai ke pembaca. Bukan sekadar pamer efek, tapi menunjukkan siapa saya dan apa yang bisa saya buat.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kenapa dirombak (⚆_⚆)? Diperbaiki saja kan bisa?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kalau Anda seorang programmer, pasti tahu rasanya melihat kode yang pernah dibuat di awal-awal belajar IT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ಠ_ಠ&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Begitulah rasanya.&lt;/p&gt;

&lt;p&gt;Terlalu sakit.&lt;/p&gt;

&lt;p&gt;Terlalu pedih.&lt;/p&gt;

&lt;p&gt;Untuk dibaca.&lt;/p&gt;

&lt;p&gt;Apalagi diperbaiki.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;=D&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Perancangan
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Apa yang dibuat?
&lt;/h3&gt;

&lt;p&gt;Tentu Web Porto.&lt;/p&gt;

&lt;h3&gt;
  
  
  Web yang bagaimana?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Sederhana dan simpel.&lt;/li&gt;
&lt;li&gt;Jelas.&lt;/li&gt;
&lt;li&gt;Tidak rumit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Kebutuhan pada web
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;SEO Friendly&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Mudah dibaca.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Konsep
&lt;/h2&gt;

&lt;p&gt;Sebelumnya, hanya sekadar info.&lt;/p&gt;

&lt;p&gt;Saya lebih suka dengan &lt;em&gt;backend&lt;/em&gt; dibanding &lt;em&gt;frontend&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Dalam sebuah pengembangan produk, desain produk adalah bentuk muka dari sebuah produknya nanti. Dari situlah kesan pertama akan muncul, apakah terlihat rapi atau tidak.&lt;/p&gt;

&lt;p&gt;Namun tidak dengan saya.&lt;/p&gt;

&lt;p&gt;Saya sangat frustrasi ketika harus membuat desain di &lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Figma&lt;/em&gt;&lt;/a&gt;. Menurut saya, itu lebih susah ketimbang &lt;em&gt;ngoding&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Jadinya saya hanya melihat referensi-referensi web milik orang-orang di &lt;a href="https://dribbble.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Dribbble&lt;/em&gt;&lt;/a&gt;, &lt;a href="https://www.pinterest.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Pinterest&lt;/em&gt;&lt;/a&gt;, dan lain-lain. Dari yang saya lihat, saya gabungkan konsepnya, saya olah, dan akhirnya terpikirkanlah sebuah &lt;em&gt;keyword&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Minimalist&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Flat&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;PowerPoint&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ya, memang itu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Minimalist&lt;/em&gt;&lt;/strong&gt; = tidak terlalu ramai.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Flat&lt;/em&gt;&lt;/strong&gt; = kesan profesional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;PowerPoint&lt;/em&gt;&lt;/strong&gt; = tidak bertele-tele dan langsung ke inti.&lt;/p&gt;




&lt;h2&gt;
  
  
  Warna
&lt;/h2&gt;

&lt;p&gt;Setelah mendapatkan konsep itu, saya mencari warna yang cocok dengan cara yang sama.&lt;/p&gt;

&lt;p&gt;Di &lt;a href="https://www.pinterest.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Pinterest&lt;/em&gt;&lt;/a&gt; punya banyak sekali postingan tentang &lt;em&gt;palette&lt;/em&gt; warna.&lt;/p&gt;

&lt;p&gt;Saya kombinasikan warna-warna yang didapat, lalu saya masukkan ke &lt;a href="https://coolors.co/" rel="noopener noreferrer"&gt;&lt;em&gt;Coolors&lt;/em&gt;&lt;/a&gt; untuk melihat apakah perpaduannya cocok atau tidak.&lt;/p&gt;

&lt;p&gt;Kalau cocok, tinggal &lt;em&gt;convert&lt;/em&gt; ke format yang saya butuhkan. Mau &lt;em&gt;CSS&lt;/em&gt;, &lt;em&gt;Tailwind CSS&lt;/em&gt;, dan lain-lain, sudah tersedia.&lt;/p&gt;




&lt;h2&gt;
  
  
  Teknologi
&lt;/h2&gt;

&lt;p&gt;Melihat saya butuh &lt;em&gt;SEO Friendly&lt;/em&gt;, yang pertama terpikir adalah &lt;strong&gt;&lt;em&gt;Server Side Rendering (SSR)&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tapi kalau harus membuat &lt;em&gt;project&lt;/em&gt; &lt;em&gt;vanilla&lt;/em&gt; (&lt;em&gt;HTML&lt;/em&gt;, &lt;em&gt;CSS&lt;/em&gt;, dan &lt;em&gt;JavaScript&lt;/em&gt;)...&lt;/p&gt;

&lt;p&gt;Ya... cukup malas.&lt;/p&gt;

&lt;p&gt;Terlalu banyak &lt;em&gt;repetitive code&lt;/em&gt;, sulit membuat berbasis &lt;em&gt;component&lt;/em&gt; yang bisa dipakai berulang kali di halaman berbeda.&lt;/p&gt;

&lt;p&gt;Akhirnya pilihan jatuh ke &lt;em&gt;framework&lt;/em&gt; &lt;em&gt;React&lt;/em&gt;, yaitu &lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;&lt;em&gt;Next.js&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Kenapa?&lt;/p&gt;

&lt;p&gt;Karena bisa &lt;em&gt;SSR&lt;/em&gt; dan juga &lt;em&gt;CSR&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Untuk &lt;em&gt;framework&lt;/em&gt; &lt;em&gt;CSS&lt;/em&gt;-nya, saya pakai &lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Tailwind CSS&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kenapa bukan &lt;a href="https://getbootstrap.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Bootstrap&lt;/em&gt;&lt;/a&gt; yang jauh lebih simpel?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Karena saya tidak terbiasa dengan &lt;em&gt;Bootstrap&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Atau lebih tepatnya...&lt;/p&gt;

&lt;p&gt;Saya tidak bisa memakainya. &lt;code&gt;(‾◡◝)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Dari awal memang saya sudah memakai &lt;em&gt;Tailwind CSS&lt;/em&gt;. Jadi ketika mencoba &lt;em&gt;Bootstrap&lt;/em&gt;, saya cukup pusing untuk mempelajarinya.&lt;/p&gt;

&lt;p&gt;Kenapa begitu?&lt;/p&gt;

&lt;p&gt;Maaf, saya tidak bisa membandingkan &lt;em&gt;Tailwind CSS&lt;/em&gt; dan &lt;em&gt;Bootstrap&lt;/em&gt; karena saya memang hampir tidak pernah menggunakan &lt;em&gt;Bootstrap&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Mungkin untuk saat ini begitu yang ingin saya bahas.&lt;/p&gt;

&lt;p&gt;Nanti akan saya ceritakan lagi saat proses pembuatannya dimulai. Mungkin akan ada perubahan konsep seiring saya mengerjakan proyek.&lt;/p&gt;

&lt;p&gt;Atau...&lt;/p&gt;

&lt;p&gt;Mungkin juga bisa mangkrak karena tugas-tugas kampus.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;aah...~~~~&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Semoga saja saya sempat membuatnya.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thanks.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Terima kasih.&lt;/p&gt;




&lt;h3&gt;
  
  
  Tambahan
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Jangan lupa secangkir kopi hari ini! ☕&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>web</category>
      <category>development</category>
      <category>portfolio</category>
    </item>
  </channel>
</rss>
