مقدمه ای بر NodeJS + SailsJS

سلام به کل جامعه! نام من برونو است ، و من در بوده است از لینوکس به عنوان یک کاربر وقت آن است که من اولین پست های خود را در این انجمن ارسال کنم

امروز من یک راهنما برای شما آورده ام NodeJS y Sails.js

Node.js و

این یک محیط برنامه نویسی ، مبتنی بر زبان است جاوا اسکریپت با معماری رویداد گرا ، ایده آل برای برنامه نویسی همزمان. گره ، بر اساس موتور است V8 از گوگل
این یک جامعه منبع باز فعال است ، که ماژول های زیادی را برای تسهیل توسعه ما نوشته اند.
یکی از آنهاست Socket.io (به سرور اجازه می دهد تا به روزرسانی های زمان واقعی را برای مشتری ارسال کند ، به عنوان مثال ردیابی GPS)

برای چیست؟

گره برای موقعیت هایی طراحی شده است که میزان ترافیک بسیار زیاد است و باعث می شود منطق و توان سرور لزوماً بیشتر نباشد. و نه تنها این ، بلکه در زمان واقعی و با مقیاس پذیری عالی!

چرا گره

1 است منبع باز.
2) اگر تا به حال به استفاده از یک زبان واحد در سمت سرور و سرویس گیرنده فکر کرده اید ، در اینجا راه حل وجود دارد.
3) مقیاس پذیری و همزمانی.
4) و غیره

Sails.js

من بادبان را انتخاب کردم ، برای ویژگی های زیر علاوه بر این که از نظر من از نظر کد بیشترین خواندن را داشت. چشم وجود داشته باشد زیاد چارچوب های Node ، همانطور که هست صریح, گوشه دار, گدی، و غیره

عکس صفحه - 080913 - 13:21:50

بادبان چیست؟

این یک چارچوب MVC که از مدل تقلید می کند یاقوت روی ریل (بله ، درست شنیده اید: D) برای ایجاد برنامه های کوچک یا بزرگ به سرعت ، به راحتی و با خیال راحت. به علاوه از الزامات کاربرد مدرن پشتیبانی می کند. مهم نیست که از کدام بانک اطلاعاتی استفاده می کنید ، بادبان یک لایه انتزاع را فراهم می کند، که باعث می شود انتخاب آن بی تفاوت باشد. بادبان دارای:

- توانایی ایجاد RESTfull JSON API بطور خودکار.
- این ماژول را در خود جای داده است Socket.io
- مسیرها را ایجاد کنید اتوماتیک برای کنترل کننده های شما
- سیستم را فراهم می کند احراز هویت از کاربران و کنترل دسترسی مبتنی بر نقش
- خر خر کردن به عنوان Task Runner (کارهای خودکار مانند کوچک کردن ، جمع آوری ، آزمایش و غیره)
- دارایی ها: همه پرونده ها در فهرست مربوطه (css ، js) هستند در یک پرونده واحد متحد و کوچک شده است، برای کاهش بطور قابل توجهی بارگذاری صفحه و تعداد محدود درخواستهای مرورگر.

 

نصب Node.Js

توروری که با آن انجام دادم اوبونتو 13.04.

sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Sails.Js نصب

آخرین نسخه پایدار:
sudo npm -g install sails

در این مرحله بدون خطا ، ما یک پروژه جدید ایجاد می کنیم! 😀

اسکلت فهرست را ایجاد کنید:
sails new testProject

ما وارد پروژه خود می شویم:
cd testProject

ما سرور را راه اندازی می کنیم:
sails lift

آره! ما وارد شدیم http://localhost:1337/

عکس صفحه - 080913 - 13:02:34

ساختار فهرست ما باید به این شکل باشد:
عکس صفحه - 080913 - 13:07:57

API ها:
- رانندگان
- آداپتورها
- مدل ها
- سیاست های
- خدمات

دارایی های:
- تصاویر
- js
- سبک ها
فاویکون
ربات ها

پیکربندی:
- محلی
404.js ، 500.js ...
route.js
session.js
sockets.js ..

NODE_MODULES:
- ejs (موتور الگو)
- غرغر
- خوش بین
- بادبان دیسک

دیدگاه ها:
- صفحه اصلی (اینجا الگوی ریشه ، localhost است)
- 404.ejs
- 500.ejs
- layout.ejs (برای کسانی که از ریل استفاده می کنند ، layouts.ejs رفتار می کند مبهم از طرح بندی. html. *)

EJS (جاوا اسکریپت تعبیه شده) این یک موتور الگوی است ، اما تنها موتور نیست. من به خصوص JADE را بیشتر دوست دارم

FIN

تا کنون دانش من ، و امیدوارم که به بسیاری از افراد کمک کرده باشم ... هستم nuevo در این فناوری بنابراین هرگونه انتقاد سازنده وجود دارد خوش آمدید ؟؟؟؟

این پست برای انجام آن بوجود آمده است ، زیرا من در حال توسعه نوعی شبکه روانی اجتماعی هستم (هیچ چیز از دنیای دیگر). با اهداف یادگیری، و منابع کمی ایده ایجاد یک سرور خانگی است که از آن پشتیبانی کند (مطمئناً یک آموزش از آن تهیه کنید) همانطور که قبلاً گفتم ، منابع کمی هستند ، بنابراین بهینه سازی خیلی مهم است (و حتی اگر خیلی هم نبودند ^^)


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

18 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد.

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   آرتور شلبی dijo

    این من را شگفت زده می کند که چقدر با وفا از RoR تقلید می کند ، اگرچه بسیاری از RoR به دلیل عملکرد ضعیف (بدون پیکربندی) کد تمیز کردن روند ، متنفرند.

    موضوع بسیار جالب است ، امیدوارم که به توسعه آن ادامه دهید ، تبریک می گویم.

    1.    نانو dijo

      من واقعاً از RoR متنفر نیستم ، مسئله این است که فلسفه یاقوت در مورد "روشهای زیادی برای انجام همان کار وجود دارد" معمولاً یک مشکل است زیرا همه آنها در واقع کارآمدترین نیستند و وقتی می خواهید به یک سوال پاسخ دهید ، در در بسیاری از موارد با این مشکل کوچک روبرو هستید که در آن همه با روش متفاوتی به همان روش پاسخ می دهند و شما بیشتر گیج می شوید:

      در مورد این چارچوب برای Node ، چون برای چیزهای بزرگ یا بزرگ نیست ، Node همراه با فریم های دیگر مانند Django برای چیزهای خاص استفاده می شود ، من فکر می کنم مثال Mejorando.la به این شکل است ، آنها کل سایت را می سازند و پایگاه داده ها با جنگو اما مشکلات در زمان واقعی به Node سپرده شده است ، اگرچه من مطمئن نیستم بنابراین نمی توانم زیاد در این مورد صحبت کنم

      1.    جامین ساموئل dijo

        فکر می کنم اینگونه بگویید ، آنها از Django برای پایگاه سایت و از Node برای کارها در زمان واقعی استفاده می کنند ... خوب حداقل این چیزی است که من همیشه می شنوم freddy vega می گوید

        1.    برونو کاسکیو dijo

          NodeJS مانند جنگو یا PHP یا روبی نیست. اما این یک سرور مانند Apache ، Nginx و ... است.

          Sails چارچوبی است که با استفاده از nodejs و express (چارچوب دیگری) همراه با برخی از ماژول ها مانند socket.io ، برای ایجاد برنامه های وب استفاده می کند.

          سلام!

          1.    آرنولدو RLF dijo

            بنابراین اگر می خواهید یک گپ ساخته شده با nodejs با یک صفحه در python با Django (برای ادامه با مثال بهبود. la) اضافه کنید ، باید از یک فریم استفاده کنید یا به apache اختصاص دهید (در این صورت ، من نمی دانم کدام سرور از پایتون استفاده می کند) مسیر http://miweb.com بله node.js http://miweb.com/chat و با آنها ارتباط برقرار کنید

  2.   جامین ساموئل dijo

    هی فوق العاده جالب است.

    آنچه من تمام نکردم این است که چرا Node JS برای وب استفاده می شود؟

    1.    آرنولدو RLF dijo

      این یک گزینه برای Apache است ، با این مزیت که در زمان واقعی است (برنامه هایی که همیشه ارتباط برقرار می کنند و نه فقط هنگام درخواست).

      1.    دیوید گومز dijo

        NodeJS یک گزینه (یا جایگزین) برای Apache ، NGINX یا هر وب سرور دیگری نیست. NodeJS یک مفسر جاوا اسکریپت برای سرور است ، به شما امکان می دهد برنامه هایی با این زبان ایجاد کنید که در غیر این صورت نیاز به استفاده از زبانهایی مانند جاوا ، پایتون ، روبی یا PHP دارید.

        1.    برونو کاسکیو dijo

          بله ، شاید من اشتباه بیان کردم. چیزی که می خواستم انتقال دهم این است که node.js سرور خود را اجرا می کند و برای کار به شخص ثالث (آپاچی ، nginx ، چروکی و غیره) احتیاج ندارد.

          سلام!

  3.   آرنولدو RLF dijo

    بسیار خوب ، امیدوارم آموزش های بیشتری بتوانند node.js را دنبال کرده و در زمان واقعی کاری انجام دهند

    1.    برونو کاسکیو dijo

      در اینجا یک کتاب 200 صفحه ای با مقدمه ای بر Node.js از طریق Koans آورده شده است. این به Node.js وارد می شود ، و "حل" بخشی از یک مسئله مطرح شده (مثال توییتر است) با Express به عنوان چارچوب هدر ...

      http://nodejskoans.com/

      PS: بادبانها به صورت Express ساخته می شوند ، معمولاً بیشتر آنها هستند.

      سلام!

  4.   ایلاو dijo

    سهم عالی Bruno .. خوش آمدید

    1.    برونو کاسکیو dijo

      با تشکر از شما و کل جامعه به ما اجازه می دهید در آن عضو شویم ... سلام!

  5.   auroszx dijo

    خیلی جالب برونو

    1.    برونو کاسکیو dijo

      با تشکر از شما

  6.   زن اسفنجی dijo

    مقاله عالی خیلی ممنون.

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

    با تشکر و تبریک برای مقاله

    سلام
    الویرا

    1.    برونو کاسکیو dijo

      سلام الویرا!

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

      می توانید چیزی مانند "گروه ها" (نقش ها) با مجوزهای مختلف ایجاد کنید و هر کاربر را به یکی از آنها مرتبط کنید.

      به ویژه در بادبان ها "سیاست" نامیده می شود و می توانید آن را در اینجا مشاهده کنید: http://sailsjs.org/#/documentation/concepts/Policies

      با سلام و تشکر از نظر شما!

      1.    زن اسفنجی dijo

        خیلی برونو متشکرم با درخواست های شما ، من یک راه حل زیبا پیدا کردم. یک سلام