Pengenalan kepada NodeJS + SailsJS

Helo kepada seluruh komuniti! Nama saya Bruno, dan saya pernah masuk DesdeLinux sebagai pengguna. Inilah masanya untuk saya membuat catatan pertama saya di komuniti ini 🙂

Hari ini saya membawa anda panduan NodeJS y layar.js

Node.js

Ini adalah persekitaran pengaturcaraan, berdasarkan bahasa Javascript dengan seni bina berorientasikan acara, sesuai untuk pengaturcaraan tidak segerak. Node, berdasarkan enjin V8 Google.
Ia mengekalkan komuniti sumber terbuka yang aktif, yang telah menulis banyak modul untuk memudahkan pembangunan kami.
Salah seorang daripada mereka socket.io (Membolehkan pelayan menghantar kemas kini masa nyata kepada pelanggan, misalnya penjejakan GPS)

Apa untuknya?

Nod direka untuk situasi di mana lalu lintas terlalu besar, menyebabkan logik pelayan dan throughput tidak semestinya lebih tinggi. Dan bukan hanya itu, tetapi dalam masa nyata dan dengan skala yang besar!

Mengapa Node?

1 ialah sumber terbuka.
2) Sekiranya anda terfikir untuk menggunakan satu bahasa di kedua-dua pelayan dan pelanggan, inilah penyelesaiannya.
3) Skalabiliti dan Kesesuaian.
4) Dll

layar.js

Saya memilih layar, kerana ciri-ciri berikut selain fakta bahawa pada pandangan saya ia adalah yang paling mudah dibaca dari segi kod. Mata! ada BANYAK kerangka kerja untuk Node, sebagaimana adanya Express, bersudut, geddy, Dll

Tangkapan Skrin - 080913 - 13:21:50

Apa itu Sails?

Adakah a Rangka kerja MVC yang meniru model ruby di landasan kereta api (Ya, anda dengar dengan betul: D) untuk pembuatan aplikasi kecil atau besar dengan cepat, mudah dan selamat. lebih jauh mempunyai sokongan untuk keperluan aplikasi moden. Tidak kira pangkalan data mana yang anda gunakan, Sails menyediakan lapisan abstraksi, yang menjadikan pilihannya tidak peduli. Sails mempunyai:

- Keupayaan untuk mencipta RESTfull API JSON secara automatik.
- Ia menggabungkan modul socket.io.
- Menghasilkan laluan automatik untuk pengawal anda.
- Menyediakan sistem pengesahan pengguna dan kawalan akses berasaskan peranan.
- Grunt sebagai Task Runner (Tugas automatik seperti pengurangan, penyusunan, pengujian, dll)
- Aset: Semua fail dalam direktori yang sesuai (css, js) adalah disatukan dalam satu fail dan dikurangkan, untuk mengurangkan banyak pemuatan halaman dan jumlah permintaan penyemak imbas yang terhad.

Pemasangan Node.Js

Turorial yang saya lakukan dengan Ubuntu 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

Pemasangan Sails.Js

Versi stabil terkini:
sudo npm -g install sails

Pada tahap ini tanpa kesilapan, kami membuat projek baru! 😀

Buat kerangka direktori:
sails new testProject

Kami memasuki Projek kami:
cd testProject

Kami memulakan pelayan:
sails lift

Yeeeeeeeeeeah! kami masuk http://localhost:1337/

Tangkapan Skrin - 080913 - 13:02:34

Struktur direktori kami akan kelihatan seperti ini:
Tangkapan Skrin - 080913 - 13:07:57

API:
- Pemandu
- Penyesuai
- Model
- Dasar
- Perkhidmatan

ASET:
- gambar
- js
- gaya
favicon
robot

KONFIG:
- tempatan
404.js, 500.js… ..
laluan.js
sesi.js
sockets.js …… ..

NODE_MODULES:
- ejs (mesin templat)
- mengomel
- optimis
- cakera layar

PANDANGAN:
- Laman utama (inilah templat root, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Bagi mereka yang menggunakan rel, layouts.ejs berkelakuan seperti daripada layouts.html. *)

EJS (Embedded Javascript) Ia adalah mesin templat, tetapi bukan satu-satunya. Saya lebih suka JADE lebih baik

FIN

Sejauh ini pengetahuan saya, dan saya harap saya banyak membantu ... Saya baru dalam teknologi ini jadi kritikan yang membina selamat datang (I.e.

Catatan ini muncul untuk melakukannya, kerana saya mengembangkan sejenis rangkaian psikososial (Tidak ada dari dunia lain). Dengan tujuan pembelajaran, dan sedikit sumber. idenya adalah untuk membuat pelayan rumah yang menyokongnya (Pasti membuat tutorial mengenainyaSeperti yang saya katakan sebelumnya, sumbernya sedikit, jadi pengoptimuman Ia sangat penting. (dan walaupun mereka tidak terlalu ^^)


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Arthur Shelby kata

    Ini mengagumkan saya betapa setia meniru RoR, walaupun banyak yang membenci RoR kerana prestasi buruk (tanpa mengkonfigurasi) trend pembersihan kod.

    Subjeknya sangat menarik, saya harap anda terus mengembangkannya, selamat.

    1.    nano kata

      Saya tidak begitu membenci RoR, masalahnya ialah falsafah ruby ​​"ada banyak cara untuk melakukan perkara yang sama" biasanya menjadi masalah kerana tidak semuanya benar-benar paling berkesan dan ketika anda ingin menjawab soalan, dalam banyak kes, anda mempunyai Masalah kecil di mana setiap orang bertindak balas dengan cara yang berbeza untuk melakukan perkara yang sama dan anda cenderung menjadi lebih keliru D:

      Mengenai kerangka kerja untuk Node ini, kerana bukan untuk perkara besar atau besar, Node digunakan bersama dengan bingkai lain seperti Django untuk perkara tertentu, saya rasa contoh Mejorando.la seperti ini, mereka membina keseluruhan laman web dan menguruskan pangkalannya data dengan Django tetapi masalah masa nyata diserahkan kepada Node, walaupun saya tidak pasti jadi saya tidak boleh terlalu banyak bercakap mengenai perkara itu.

      1.    jamin samuel kata

        Saya rasa seperti yang anda katakan, mereka menggunakan Django untuk pangkalan laman web dan Node untuk perkara-perkara dalam masa nyata ... Yah, sekurang-kurangnya itulah yang selalu saya dengar freddy vega katakan

        1.    Bruno cascio kata

          NodeJS tidak seperti Django atau PHP, atau ruby. Tetapi ia adalah pelayan seperti Apache, Nginx, dll.

          Sails adalah kerangka kerja yang menggunakan nodejs dan express (framework lain) bersama dengan beberapa modul seperti socket.io, untuk pembuatan aplikasi web.

          Salam!

          1.    Arnoldo RLF kata

            jadi jika anda ingin memasukkan sembang yang dibuat dengan nodejs dengan halaman di python dengan Django (untuk meneruskan contoh peningkatan.la), anda harus menggunakan bingkai, atau menetapkan untuk membuat apache (jika demikian, saya tidak tahu pelayan mana gunakan python) jalan http://miweb.com ya node.js http://miweb.com/chat dan menyampaikannya

  2.   jamin samuel kata

    Hai yang sangat menarik….

    Yang tidak saya selesaikan ialah mengapa Node JS digunakan untuk web?

    1.    Arnoldo RLF kata

      ini adalah alternatif untuk apache, dengan kelebihannya dalam masa nyata (aplikasi yang berkomunikasi sepanjang masa dan bukan hanya ketika permintaan dibuat).

      1.    David gomez kata

        NodeJS bukan alternatif (atau penggantian) untuk Apache, NGINX atau pelayan web lain. NodeJS adalah jurubahasa JavaScript untuk pelayan, yang membolehkan anda membuat aplikasi dengan bahasa ini yang memerlukan penggunaan bahasa seperti Java, Python, Ruby atau PHP.

        1.    Bruno cascio kata

          Ya, mungkin saya salah menyatakan. Apa yang ingin saya sampaikan ialah node.js menjalankan pelayannya sendiri dan tidak memerlukan pihak ketiga untuk berfungsi (apache, nginx, cherokee, dll)

          Salam!

  3.   Arnoldo RLF kata

    sangat bagus, saya harap lebih banyak tutorial dapat mengikuti node.js dan melakukan sesuatu dalam masa nyata

    1.    Bruno cascio kata

      Di sini saya tinggalkan buku 200 halaman, dengan pengantar Node.js melalui Koans. Ini memiliki ke Node.js, dan "penyelesaian" dari sebahagian masalah yang diajukan (contohnya adalah twitter) dengan Express sebagai kerangka tajuk ...

      http://nodejskoans.com/

      PS: Sails dibuat secara Express, biasanya kebanyakannya.

      Salam!

  4.   meriah kata

    Sumbangan yang sangat baik Bruno .. Selamat datang 😀

    1.    Bruno cascio kata

      Terima kasih kepada anda dan seluruh komuniti kerana membiarkan kami menjadi sebahagian daripadanya 🙂 Salam!

  5.   auroszx kata

    Bruno sangat menarik 🙂

    1.    Bruno cascio kata

      Terima kasih!

  6.   Wanita span kata

    Artikel yang sangat baik. Terima kasih banyak-banyak.

    Saya kini menggunakan layar di beberapa projek saya. Saya ingin bertanya di mana saya boleh mendapatkan lebih banyak maklumat mengenai kawalan akses berdasarkan peranan untuk layar, jika mungkin dalam bahasa Sepanyol, tetapi jika tidak, dalam bahasa Inggeris. Saya ingin menambahkan kawalan akses ke salah satu halaman saya tetapi saya ingin menetapkan kebenaran untuk beberapa pengguna dari laluan tertentu dan yang lain dari laluan lain. Adakah itu mungkin dengan layar? Saya tidak menemui banyak maklumat mengenainya.

    Terima kasih dan tahniah untuk artikel itu.

    Sesuatu ucapan
    Elvira.

    1.    Bruno cascio kata

      Helo Elvira!

      Mengenai apa yang anda sebutkan, baik itu Sailsjs atau kerangka lain, apa yang anda cadangkan adalah berkaitan dengan pemodelan data dan batasan yang dikenakan oleh sistem.

      Anda boleh membuat sesuatu seperti "kumpulan" (peranan) dengan izin yang berbeza dan mengaitkan setiap pengguna dengan salah satu daripada mereka.

      Terutama di layar mereka disebut "polisi" dan anda dapat melihatnya di sini: http://sailsjs.org/#/documentation/concepts/Policies

      Salam dan terima kasih atas komen anda!

      1.    Wanita span kata

        Terima kasih banyak Bruno. Dengan arahan anda, saya dapati penyelesaian yang elegan. ucapan