در مقالات قبلی کمپین آموزشی بی لرن درباره زبان های برنامه نویس و فریمورک های آن ها صحبت شد. همانطور که می دانید فریمورک ها چارچوب و بدنه برنامه ها هستند. این فریمورک ها به دلیل تنوع زیادی که دارند، کاربرد های بسیار زیادی نیز دارند. یکی از این فریمورک های بسیار کاربردی، فریمورک next js می باشد. این فریمورک، فریمورک زبان جاوا اسکریپت می باشد. برای شناخت فریمورک next js و قابلیت های آن می توانید از این مقاله کمک بگیرید.

فریمورک Next.js چیست؟

 

فریمورک Next.js | بی لرن

 

Next.js یکی از فریمورک های معروف زبان جاوا اسکریپت  و کتابخانه React می باشد. فریمورک next js امکانات بسیاری همچون اجرای برنامه ها و … را در اختیار شما قرار می دهد.  از این فریمورک بیشتر در توسعه پلیکیشن های وب با ری اکت استفاده می شود. فریمورک Next.js دارای ابزارهای مختلفی همچون hybrid static، رندر سمت سرور برای ساخت اپلیکیشن های SSR و پشتیبانی از تایپ اسکریپت یا smart bundling و route pre-fetching می باشد. این ابزار ها از کارایی بسیار بالایی برخوردار می باشند و تمام آن ها از پیش تولید شده اند و نیازی به پیکربندی ندارند.

 

بنر آموزش جاوا اسکریپت | بی لرن

 

فریمورک Next.js چه ویژگی هایی دارد؟

 

ویژگی فریمورک Next.js | بی لرن

 

نیز همانند دیگر فریمورک های موجود در برنامه نویسی و طراحی سایت، دارای ویژگی هایی می باشد که در لیست زیر به آن ها اشاره شده است.

  • رندر کردن برنامه های ری اکت (React) در سمت سرور به صورت پیش فرض (Server-rendered by default)
  • استفاده از code splitting بصورت اتوماتیک برای انجام سریع بارگزاری های صفحه (Automatic code splitting for faster page loads)
  • مسیر دهی ساده در سمت کاربر بر اساس صفحه (Simple client-side routing (page-based
  • استفاده از محیط توسعه بر اساس وب پک Webpack که از قابلیت Hot Module Replacement) HMR) پشتیبانی می کند.
  • امکان پیاده سازی با Express یا هر Node.js HTTP server دیگری که وجود دارد.
  • قابلیت شخصی سازی با تنظیمات Babel , Webpack پروژه خود

 

دلایل استفاده از فریمورک next js

 

دلایل استفاده از فریمورک next js | بی لرن

 

فریمورک next js علاوه بر ویژگی هایی که در قسمت قبلی توضیح داده ایم، دارای ابزار ها و قابلیت های مختلفی نیز می باشد. در ادامه به دلایل استفاده از این فریمورک می پردازیم.

Zero Config

یکی از دلایل استفاده از فریمورک next js، وجود ویژگی هایی همچون compilation و bundling می باشد. این ویژگی ها به صورت خودکار در اختیار شما قرار می گیرند. شما به وسیله این ویژگی ها می توانید هینه ترین اپ ها را تولید نمایید.

Hybrid: SSG and SSR

یکی از ویژگی های فریمورک next js، ویژگی های SSG و SSR می باشند. این فریمورک از این قابلیت ها برای تولید برنامه های پشتیبانی استفاده می کند. با این ویژگی ها به راحتی می توانید نرم افزار های سمت سرور و دوستدار Seo طراحی نمایید. این ویژگی ها در React وجود ندارند.

 

بنر مقاله React | بی لرن

 

Incremental Static Generation

اگر آپدیت صفخات استاتیک رندر شده برای شما نیز سخت و دشوار می باشد، با این ویژگی به راحتی می توانید این کار را انجام دهید. برای این کار تنها کافیست س از زمان ساخت صفحات ، آن ها را به صورت تدریجی آپدیت و بروز نمایید.

TypeScript Support

یکی از مهمترین ویژگی های فریمورک Next.js، ویژگی TypeScript می باشد. استفاده از این ویژگی در پروژه های شما بسیار ساده می باشد. این ویژگی به شما این امکان را می دهد که بتوانید برنماه های بروز تری بنویسید. علاوه بر این، این ویژگی کدنویسی را برای شما راحت تر می کند. شما به وسیله این ویژگی می توانید برنامه های خود را اصولی تر و بهینه تر تولید کنید.

Fast Refresh

Fast Refresh یکی از جذاب ترین ویژگی های فریمورک Next.js می باشد که در مقیاس های بزرگ تست می شود. این ویژگی قابل مشاهده نیز می باشد. مثل اپلیکیشن فیس بوک

File-system Routing

File-system Routing یکی دیگر از ویژگی ها و دلایل استفاده از فریمورک Next.js می باشد. این ویژگی هر کامپوننت را به یک Route یا مسیر مجزا اختصاص می دهد و در پوشه صفحات در مسیر پروژه قرار می گیرد.

API Routes

این ویژگی وظیفه ایجاد EndPoint های مختلف برای پیاده سازی Api برنامه و توسعه سمت سرور را بر عهده دارد.

Built-in CSS Support

شما به وسیله Built-in CSS Support می توانید، استایل های هر کامپوننت را در درون همان کامپوننت ایجاد نمایید. برای این کار می توانید از CSS و Sass نیز استفاده کنید.

 

بنر آموزش رایگان html و css | بی لرن

 

Code-splitting and Bundling

یکی از دلایل استفاده از فریمورک Next.js، بهره بردن از الگوریتم خاص برای تقسیم بندی و بهینه سازی کدها ممی باشد. این ویژگی توسط تیم کروم گوگل تولید و توسعه یافته است.

 

پیش نیازهای Next.js

شاید برای شما هم سوال باشد که پیش نیاز های لازم  برای استفاده از فریمورک Next.js چه هستند؟ در جواب این سوال می توانیم بگوییم که، برای استفاده از Next.js تنها به Node.js نیاز دارید. برای نصب Node.js بر روی لینوکس، ویندوز یا مک می توانید از سایت مربوط به Node.js استفاده نمایید.

 

چگونه فریمورک Next.js را نصب و اجرا کنیم؟

 

نصب فریمورک Next.js | بی لرن

 

نصب Next.js با create-next-app

npx create-next-app
# or
yarn create next-app

 

نصب دستی Next.js

به وسیله دستور زیر می توانید  React , ract-dom , next را نصب نمایید.

npm install next react react-dom

 

سپس از نوشتن دستور بالا، وارد فایل Package.json شوید و دستورات زیر را درون آن وارد کنید.

“scripts”: {

“dev”: “next dev”,

“build”: “next build”,

“start”: “next start”

}

 

در نهایت در مسیر پروژه، یک پوشه با نام Pages ایجاد نمایید و فایل index.js را با مقادیر زیر در آن مسیر بسازید.

function HomePage() {

return <div>Welcome to Next.js!</div>

}

export default HomePage

 

نصب Next.js با استفاده از yarn

yarn add next

 

اجرای سرور و برنامه در Next.js

  • استفاده از دستور npm run dev موجود در خط فرمان برای اجرای سرور و تست برنامه خود.
  • کپی کردن آدرس ایجاد شده با نام http://localhost:3000 در مرورگر و باز شدن پروژه

 

آیا استفاده از Next js توصیه می شود؟

یکی از سوال هایی که ممکن است درباره فریمورک Next.js پیش بیاد، استفاده از این فریمورک می باشد. در صورتی که از زبان جاوااسکریپت به صورت حرفه ای استفاده می کنید، به شما توصیه می کنیم که از فریمورک Next.js استفاده نمایید. یکی از دلایلی که این فریمورک به شما پیش نهاد می شود، چهارچوب هایی می باشد که در اختیار شما قرار می دهد. این چهارچوب ها به شما در توسعه برنامه های بهینه با حداکثر سرعت کمک بسیاری می کنند.

 

بنر مقاله فریمورک جاوااسکریپت | بی لرن

 

قابلیت های موجود در فریمورک Next.js

 

قابلیت فریمورک Next.js | بی لرن

 

فریمورک Next.js دارای قابلیت های بسیاری می باشد که می توانید آن ها را به صورت زیر مشاهده نمایید.

  • Hot Code Reloading
  • Automatic Code Splitting
  • Ecosystem Compatibility
  • Server Rendering
  • Styled-JSX

مثال زیر مشخص کننده قابلیت های بالا می باشد.

function Home() {

return (

<div className=”container”>

<p>Hello Geeks</p>

<style jsx>{`

.container {

margin: 50px;

}

p {

color: blue;

}

`}</style>

</div>

)

}

export default Home

 

نحوه کار فریمورک Next.js 

این فریمورک در زبان برنامه نویسی جاوااسکریپت نوشته شده است و برای ایجاد یک توسعه دهنده وب پیشرفته از قابلیت ها و امکانات زیر استفاده می کند.

  •  Vue 2
  • Vue Routerپ
  • Vuex (تنها زمانی وجود دارد که از Store Option استفاده کنید)
  • Vue Server Renderer (هنگام استفاده از حالت حذف شده)
  • Vue-meta 

 

مزایا و معایب فریمورک Next.js

 

مزایا و معایب فریمورک Next.js | بی لرن

 

می توانیم مزایا و معایب فریمورک Next.js را به صورت زیر بیان کنیم.

مزایا فریمورک Next.js

  •  یادگیری آن بسیار آسان است
  • پشتیبانی CSS داخلی
  • پشتیبانی تایپ اسکریپت به صورت اتوماتیک
  • تکنیک جذاب داده های چند گانه
  • مسیر یابی فایل سیستم

معایب و محدودیت های فریمورک Next.js

  • مناسب برای تهیه Front End
  • مناسب برای تهیه اپلیکیشن های پیچیده
  • لود شدن تمام دیتاها
  • زمانگیر رودن انتقال اپلیکیشن از سمت سرور به js

 

Server side rendering چیست؟

 

Server side rendering چیست؟ | بی لرن

 

SSR مخفف عبارت server side rendering می باشد که به صورت رندر صفحات در سمت سرور و ارسال کدها به مرورگر کاربر معنی می شود. SSR بعد از رندر کد های جاوا اسکریپت به کمک سرور و ارسال آن به کاربر، وب سایت دارای محتوا به کاربر نمایش داده می شود. موتور های جستجو به کمک SSR به راحتی می توانند محتوا را index کنند و برای درک بهتر وب سایت را نمایش دهند.

 

فریم ورک Nuxt.Js چیست؟

 

فریم ورک Nuxt.Js چیست؟ | بی لرن

 

فریمورک Nuxt که با Nuxt.js نیز معرفی می شود، به صورت منبع باز و رایگان قابل استفاده می باشد. فریمورک Nuxt.js طبق Vue js، Node js، Express js، Babel js و Webpack تولید شده است. این فریمورک به عنوان یک فرایند فرعی برای برنامه های جهانی به حساب می آید. شما به وسیله این فریمورک می توانید بر روی سرور پیش رندر شده و سایت ایستا فعالیت نمایید. این فریمورک به راحتی تنظیمات و راه اندازی برنامه ها را ساده می سازد و به توسعه دهنده نرم افزار متصل می شود.

 

سخن پایانی

فریمورک next js یکی از محبوبترین و پرکاربرد ترین فریمورک زبان جاوا اسکریپت می باشد. این فریمورک امکانات بسیاری همچون اجرای برنامه ها و … را در اختیار شما قرار می دهد و بیشتر در توسعه پلیکیشن های وب با ری اکت استفاده می شود. تمام مباحث مربوط به این فریمورک در این مقاله آورده شده است.

برای دریافت پاسخ سوالات خود و بهره مند شدن از تجربه اساتید خبره و دیگر دوستانتان در کمپین آموزشی بی لرن می توانید سوالات خود را در کافه گپ و گفت مطرح نمایید و در سریعترین زمان، پاسخ سوال خود را دریافت نمایید. همچنین می توانید با عضویت در کمپین آموزشی بی لرن، از دوره های آموزشی رایگان و کاربردی در زمینه های مختلف به صورت تخصصی و حرفه ای بهره مند شوید. با توجه به مسیر یادگیری در زمینه های مختلف می توانید برای شروع طراحی سایت و برنامه نویسی اپلیکیشن از دوره جاوا اسکریپت بهره مند شوید.