Posted on نوشتن کامنت

Pug.js چیست؟

pug.js

Pug.js برای به کار بردن ساده تر قالب HTML

Pug.js یک موتور قالب HTML است، به این معنی که شما می توانید کد بسیار ساده تر Pug را بنویسید که کامپایلر Pug آن را به کد HTML کامپایل می کند، که مرورگر می تواند آن را درک کند. اما چرا کد Pug را بنویسیم؟

Pug دارای ویژگی های قدرتمندی مانند شرط ها، حلقه ها، include ها، mixin ها است که با استفاده از آن ما می توانیم کد HTML را بر اساس ورودی کاربر یا داده های مرجع ارائه دهیم. Pug نیز جاوا اسکریپت را پشتیبانی می کند، بنابراین با استفاده از عبارت های جاوااسکریپت، ما می توانیم کد HTML را فرمت کنیم.

نمونه استفاده از Pug.js

در نظر بگبرید یک برنامه کاربردی که می تواند قالب های ایمیل برای ارسال ایمیل سفارشی برای کاربر خاص باشد. با استفاده از Pug و متغیرهایی براساس کاربری که ایمیل را برای او ارسال می کنیم می توانیم قالب یک ایمیل را تغییر دهیم. قبل از ارسال ایمیل، ما می توانیم Pug را به کد HTML با داده های کاربر کامپایل کنیم تا شکاف هایی را که در آن اطلاعات پویا باید برداشته شود را پر کنیم.

همچنین می توانید با کمک آن Master Page ها را نیز به راحتی ایجاد نمایید.

برنامه های بسیاری وجود دارد که در آن کد HTML باید بر روی سرور یا مرورگر تولید شود و pug مناسب برای آن نوع محیط ها است.

برای استفاده از pug.js می توانید به اینجا رجوع کنید و از آن در node.js استفاده نمایید.

برای اطلاعات بیشتر درباره node.js به اینجا رجوع کنید.

Posted on نوشتن کامنت

Expressjs چیست؟

expressjs

در این مقاله سعی کرده ام درباره Expressjs توضیحات کوتاهی برای شناخت اولیه بدهم. همچنین درباره اجزای به کار رفته در آن مانند Pug و MongoDB نیز اشاره کرده ام.

Expressjs یک چارچوب کاربردی وب مینیمالیستی و انعطاف پذیر Node.js است که مجموعه ای قوی از ویژگی های کاربردی وب و تلفن همراه را فراهم می کند. Expressjs یک چارچوب منبع باز است که توسط بنیاد Node.js پشتیبانی می شود.

اکسپرس یک چارچوب برنامه وب است که شما را با یک API ساده برای ساخت وب سایت ها، برنامه های وب و بک-اند یاری می رساند. با ExpressJS، شما نباید نگران پروتکل ها، پردازش ها و غیره باشید.

اکسپرس یک رابط کاربری مینیمالیتی برای ساخت برنامه های ما فراهم می کند، که در واقع ابزاری برای ساختن برنامه ما فراهم می کند و با انعطاف پذیری با ماژول های متعددی که در npm وجود دارد، می تواند به طور مستقیم به اکسپرس وصل شود.

اکسپرس توسط TJ Holowaychuk تهیه شده است و توسط بنیاد Node.js و چندین منبع همگانی منبع باز نگهداری می شود.

چرا Expressjs؟

بر خلاف رقبای خود مانند Rails و Django ، که به شیوه ای معتبر برای ساخت برنامه های کاربردی، اکسپرس “بهترین راه” برای انجام کاری ندارد. و به همین دلیل این بسیار انعطاف پذیر و قابل انعطاف است.

Pug

Pug (قبلا به عنوان Jade شناخته شده است) یک زبان موجز برای نوشتن قالب HTML است که:

  • HTML را تولید می کند
  • پشتیبانی از کد پویا
  • پشتیبانی از قابلیت استفاده مجدد (DRY)

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

MongoDB وMongoose

MongoDB یه صورت منبع باز، پایگاه داده سند برای سهولت توسعه ومقیاس پذیری طراحی شده است. این پایگاه داده همچنین برای ذخیره داده ها استفاده می شود.

Mongoose یک API سرویس گیرنده برای node.js است که دسترسی آسان به پایگاه داده ما را از برنامه Express ما فراهم می کند.

برای اطلاعات بیشتر درباره Node.js به اینجا مراجعه کنید.

منبع

Posted on نوشتن کامنت

Node.js چیست؟

nodejs

Node.js یک پلت فرم سمت سرور است که در موتور جاوا اسکریپت گوگل کروم (موتور V8) ساخته شده است. Node.js توسط Ryan Dahl در سال ۲۰۰۹ توسعه داده شد و آخرین نسخه آن v11.12.0 است. تعریف Node.js که توسط اسناد رسمی آن ارائه شده است به شرح زیر است :

Node.js یک پلت فرم ساخته شده در زمان اجرا جاوا اسکریپت کروم برای آسان ساختن برنامه های سریع و مقیاس پذیر شبکه است و از یک مدل I / O مبتنی بر رویداد و غیر بلوک استفاده می کند که سبک و کارآمد است و برای برنامه های کاربردی در زمان واقعی که در میان دستگاه های توزیع شده اجرا می شود، مناسب است.

Node.js یک تکنولوژی منبع باز، پلت فرم چند-سکویی با اجرای بلادرنگ برای توسعه برنامه های کاربردی سمت سرویس دهنده و شبکه است. برنامه های Node.js با جاوا اسکریپت نوشته می شوند و می توانند در زمان اجرا در OS X، مایکروسافت ویندوز و لینوکس اجرا شوند.

Node.js همچنین یک کتابخانه غنی از ماژول های مختلف جاوا اسکریپت فراهم می کند که توسعه برنامه های وب را با استفاده از آن به میزان قابل توجهی ساده می کند.

ویژگی های Node.js

بعضی از ویژگی های مهم که آن را اولین انتخاب معماران نرم افزاری می کند، به شرح زیر است:

ناهمزمانی و مبتنی بر رویداد – تمام API های کتابخانه آن ناهمزمان هستند، یعنی غیر بلوک کردن. این اساسا به این معنی است که سرور مبتنی بر آن هرگز منتظر API برای بازگشت داده ها نیست. سرور بعد از فراخوانی آن به API بعد حرکت می کند و یک مکانیزم اعلان رویدادهای آن به سرور کمک می کند تا از پاسخ قبلی درخواست API دریافت کند.

بسیار سریع – در موتور JavaScript V8 گوگل ساخته شده است، کتابخانه آن در اجرای کد بسیار سریع است.

تک رشته ای اما بسیار مقیاس پذیر – Node.js از یک مدل تک رشته ای با حلقه رویداد استفاده می کند. مکانیزم رویداد به سرور کمک می کند تا به صورت غیر مسدود کننده پاسخ دهد و سرور را بسیار مقیاس پذیر می کند، بر خلاف سرور های سنتی که رشته های محدودی را برای رسیدگی به درخواست ایجاد می کنند. Node.js از یک برنامه تک رشته ای استفاده می کند و همان برنامه می تواند سرویس را به تعداد بسیار بیشتری از درخواست ها از سرورهای سنتی مانند Apache HTTP Server ارائه دهد.

بدون بافر – برنامه های Node.js هرگز هیچ اطلاعاتی را بافر نمی کنند. این برنامه ها به سادگی داده ها را درون تکه ها می گذارد.

مجوز – Node.js تحت مجوز MIT منتشر می شود.

چه کسی از آن استفاده می کند؟

در زیر پیوند در wiki github حاوی لیست کامل پروژه ها، برنامه ها و شرکت هایی است که از آن استفاده می کنند. این لیست شامل eBay، General Electric، GoDaddy، مایکروسافت، PayPal، Uber، ویکی پین، یاهو و Yammer و غیره است.

Projects, Applications, and Companies Using Node

مفاهیم

نمودار زیر بخش هایی مهم از آن را نشان می دهد.

Nodej.s
بخش ها

کجا استفاده کنیم؟

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

  • برنامه های با I / O محدود
  • برنامه های جریان داده
  • برنامه های کاربردی در زمان واقعی اطلاعات (DIRT)
  • برنامه های مبتنی بر API JSON
  • برنامه های تک صفحه ای

جایی که از آن نباید استفاده کنیم

استفاده از Node.js برای برنامه های کاربردی با استفاده شدید ازCPU توصیه نمی شود.

برای اطلاعات بیشتر درباره تفاوت front-end و back-end به اینجا رجوع کنید.

منبع

Posted on نوشتن کامنت

تفاوت front-end و back-end

frontend-backend

دو اصطلاح که در وب بسیاربه کار برده می شوند عبارتند از: front-end و back-end. این می توانند کمی گیج کننده باشند زیرا تفاوت بین front-end و back-end همیشه کاملا مشخص نیست. این اصطلاحات اغلب برای توصیف انواع گرایش های صنعت وب مورد استفاده قرار می گیرند. front-end به عنوان سمت سرویس گیرنده، و گاهی اوقات نیز به عنوان “طراحی وب” در نظر گرفته می شود. back-end اغلب به عنوان سمت سرور شناخته می شود. اغلب هنگامی که کسی می گویند آنها “توسعه دهنده وب” است، یعنی که به عنوان برنامه نویس back-end کار می کنند. در حالی که این توضیح ساده به نظر می رسد، خط میان این دو اغلب واضح نیست. در اینجا برخی از دستورالعمل های اساسی برای کمک به تشخیص تفاوت بین front-end و back-end وجود دارد و یا حداقل می تواند شروعی باشد برای درک نقش “front-end developer”.

front-end

در بخش فرانت اند همه چیز مربوط است به آنچه که کاربر می بیند، از جمله طراحی وب و با کمک برخی از زبان ها مانند HTML و CSS. بسیاری از مشاغل مختلفی در ارتباط با فرانت اند وجود دارند. به یاد داشته باشید که بسیاری از این عناوین ذهنی هستند و در حالی که توسعه دهنده فرانت اند ممکن است به عنوان چیزی در یک شرکت معنی داشته باشد، ولی در عین حال ممکن است به عنوان چیزی کاملا متفاوت در یک شرکت دیگر معنی داشته باشد. عنوان شغلی مشترک برای تمام این گرایش ها “web design” یا “طراح وب” است. طراح وب، همان است که شما آن را حدس زدید، طراحی وب سایت. عناوین شغلی طراح وب بسیار گسترده است.

طراح وب فقط می تواند کسی باشد که سایت ها را در یک برنامه مانند فتوشاپ طراحی کند و هرگز کد را لمس ننماید. اما در مکان دیگری، یک طراح وب می تواند تمام طراحی را در فتوشاپ انجام دهد، و سپس مسئول ایجاد تمام HTML و CSS (و گاهی اوقات حتی جاوا اسکریپت) برای همراهی با آن باشد. در یک رابط کاربری (UI) طراح اساسا یک طراح بصری است و به طور کلی بر طراحی تمرکز دارد. آنها معمولا در اجرای طرح دخیل نیستند، اما ممکن است HTML و CSS را بدانند تا بتوانند ایده های خود را به طور مؤثرتر به توسعه دهندگان بسپارند.

طراحان تجربه کاربری (UX) در front-end مطالعه و تحقیق می کنند که چگونه مردم از سایت ها استفاده می کنند و از طریق آزمایش های زیادی تغییرات را درسایت ایجاد می کنند. یک طراح یا توسعه دهنده فرانت اد می تواند یک سایت را بدون هیچ گونه توسعه اولیه ایجاد کند. سایت هایی که بدون توسعه دهنده وب یا استفاده از Back-End ایجاد میشوند، یک سایت استاتیک هستند. یک سایت استاتیک چیزی شبیه یک سایت برای یک رستوران یا سالن زیبایی است. این نوع سایت هیچ اطلاعاتی را در یک پایگاه داده ذخیره نمی کند. صفحات تقریبا همیشه باقی خواهند ماند، مگر اینکه زمان طراحی مجدد باشد.

ممکن است یک توسعه دهنده front-end لازم باشد تا درکی از فرایندهای تست را داشته باشد و همچنین با HTML، CSS و جاوا اسکریپت به خوبی آشنا باشد. این شخص ممکن است تجربه ایجاد طرح در یک برنامه طراحی را داشته باشد. عنوان دیگری از این شغل مهندس فرانت اند است. در این عنوان زبانهای خاصی از قبیل “توسعه دهنده جاوا اسکریپت” نیز در نظر گرفته شده اند.

back-end

بک اند ، یا “سمت سرور”، اساسا این است که چگونه سایت کار می کند، یا به روز رسانی ها و تغییرات چکونه صورت می گیرد. این شامل همه چیزهایی است که کاربران نمیتوانند در مرورگر ببینند، مانند پایگاههای داده و سرورها. معمولا افرادی که در قسمت back-end کار می کنند، برنامه نویس هستند. توسعه دهندگان Back-end اغلب در مورد چیزهایی مانند امنیت، ساختار و مدیریت محتوا مسولیت دارند. آنها معمولا می دانند و می توانند زبان هایی مانند HTML و CSS را استفاده کنند اما مطمئنا فقط تمرکز بر آنها نیستند. برای ایجاد یک سایت دینامیک نیاز به توسعه دهندگان بک اند نیاز است. یک سایت پویا سایتی است که به طور مداوم در حال تغییر و به روز رسانی در زمان واقعی است.

اکثر سایت ها به عنوان سایت های پویا هستند. فیس بوک، نقشه های گوگل و این وبلاگ همه به عنوان سایت های پویا در نظر گرفته می شوند. وبلاگ ها سایت های پویا هستند، زیرا محتوای آنها دائما در حال تغییر و به روز رسانی است. یک سایت پویا مستلزم به کارگیری یک پایگاه داده است. تمام اطلاعات، مانند پروفایل های کاربری یا عکس هایی که آپلود کرده اند، یا پست های وبلاگ، در پایگاه داده ذخیره می شوند. توسعه دهندگان وب با زبان های برنامه نویسی مانند سی شارپ یا پی اچ پی کار می کنند، زیرا آنها نیاز به کار با پایگاه داده دارند. کد نوشته شده با سرور ارتباط برقرار می کند و سپس در مرورگر آنچه را که از پایگاه داده استخراج کرده نمایش می دهد.

نتیجه گیری

امیدوارم در حال حاضر درک بهتری از تفاوت بین فرانت اند وربک اند در صنعت وب پیدا کرده باشید. این موضوع می تواند کمی گیج کننده باشد، به خصوص از آنجایی که واقعا یک استاندارد صنعتی برای آنچه که همیشه در front-end وجود دارد و آنچه که همیشه در back-end است، موجود نمی باشد. با این حال، بسیاری از افرادی هم هستند که در هم در فرانت اند و هم در بک اند کار می کنند . این افراد اغلب به عنوان “full stack developer” نام برده می شوند. اگر هنوز در مورد تفاوت بین front-end و back-end کمی اختلاف نظر دارید، همیشه به یاد داشته باشید که فرانت اند مربوط به مرورگر است و همه چیز به آن ارسال می شود. اگر چیزی برای انجام یک پایگاه داده وجود داشته باشد، آن چیز وابستگی به بک اند دارد.

منبع

موضوعات مرتبط: آموزش طراحی وب