SlideShare una empresa de Scribd logo
1 de 18
Што е Node.JS и како настанал
Кои се основните карактеристики на Node.JS
и како функционира во позадина
Како треба да ги развиваме нашите
апликации во Node.JS и на што треба да
внимаваме
Можни комбинации на Node.JS со останатите
технологии и програмски јазици
Добри и лоши страни и во кои ситуации е
пожелно да се користи Node.JS а во кои да се
Node.JS – Што ќе опфатиме
Node.JS е околина за развивање апликации
на сервер со користење на JavaScript како
програмски јазик
Што е Node.JS ?
Идеата за да се користи еден програмски
јазик за front-end и back-end програмирање
постои од поодамна.
Што е Node.JS ?
Едни од првичните обиди да се користи еден
програмски јазик за web апликации е со
креирањето на клиентски компоненти на
сервер и да се компајлираат користејќи
JavaScript
Што е Node.JS ?
После многу неуспешни обиди, е создаден
Node.JS.
Node.JS не само што ни овозможува да
користиме JavaScript како back-end
програмски јазик, туку и ја промовира идеата
за:
event-driven
non-blocking programming
Што е Node.JS ?
Event-driven, non-blocking I/O programming
Користи една нишка (thread) за извршување
на сите операции и барања од клиентите
Основни карактеристики на
Node.JS
var result = database.query( "SELECT * FROM hugetable" );
console.log( "Hello World" );
Blocking programming
database.query( "SELECT * FROM hugetable" , function(rows) {
var result = rows;
});
console.log( "Hello World" );
Non-blocking programming
Сите I/O операции треба да бидат event-
driven
◦Читање и запишување од диск
◦Работа со бази на податоци
◦HTTP барања
Како треба да ги развиваме
апликациите во Node.JS
Да се внимава да не се појави exception
(грешка)
◦Другите околини кои што користат throw
exception за нивно справување
◦Node.JS се справува со грешките со тоа што ги
враќа назад до тој што ја повикал функцијата
преку callback параметар
Како треба да ги развиваме
апликациите во Node.JS
Да се избегнуваат калкулации кои што ќе
одземат повеќе време
◦Ќе се блокираат сите операции и барања што веќе
се во редот на чекање да бидат извршени
◦Ќе се блокираат сите нови конекции од клиенти и
нивните барања
Web Workers служат за извршување на
одредени процеси, надвор од главната
скрипта
Како треба да ги развиваме
апликациите во Node.JS
Mongo DB
Express.JS
Angular.JS
Node.JS
M.E.A.N.
Зголемени перформанси во самата
апликација и во развивањето на апликацијата
од програмерите
Во Mongo DB може да ги зачувуваме
податоците во JSON формат, во Express.JS и
Node.JS да извршуваме JSON queries и многу
лесно да праќаме JSON податоци на Angular
front-end
Предности на M.E.A.N. и
користење
JavaScript во целата апликација
Нема застој на сите I/O барања
Може да овозможи многу повеќе конекции
Може да се користи скоро на сите сервери и
да се комбинира со други back-end
програмски јазици на ист сервер
Има голема интернет заедница
Позитивни страни на Node.JS
Секоја обработка на податоци која што ќе
одземе повеќе време ќе направи застој за
сите клиенти и барања
Сеуште не функционира добро со релациони
бази на податоци
Негативни страни на Node.JS
Real-time сервиси/апликации кои што скоро
целата улога ќе им биде да
читаат/запишуваат/препраќаат податоци
◦Live chat
◦Live stream
◦итн
За какви апликации ќе може да го
користиме Node.JS

Más contenido relacionado

Más de Tricode (part of Dept)

Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Tricode (part of Dept)
 
Kids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopKids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopTricode (part of Dept)
 
How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6Tricode (part of Dept)
 
Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Tricode (part of Dept)
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?Tricode (part of Dept)
 
10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen 10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen Tricode (part of Dept)
 
Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Tricode (part of Dept)
 
Introducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryIntroducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryTricode (part of Dept)
 
Communication and its Importance to a Developer
Communication and its Importance to a DeveloperCommunication and its Importance to a Developer
Communication and its Importance to a DeveloperTricode (part of Dept)
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2Tricode (part of Dept)
 
Content Marketing: How to Create Relevant Content for Your Audience
Content Marketing: How to Create Relevant Content for Your AudienceContent Marketing: How to Create Relevant Content for Your Audience
Content Marketing: How to Create Relevant Content for Your AudienceTricode (part of Dept)
 

Más de Tricode (part of Dept) (20)

Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)Internet Addiction (Social Media Edition)
Internet Addiction (Social Media Edition)
 
Kids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshopKids Can Code - an interactive IT workshop
Kids Can Code - an interactive IT workshop
 
RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
Deep Learning - STM 6
Deep Learning - STM 6Deep Learning - STM 6
Deep Learning - STM 6
 
How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6How Technology is Affecting Society - STM 6
How Technology is Affecting Society - STM 6
 
Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6Monolithic to Microservices Architecture - STM 6
Monolithic to Microservices Architecture - STM 6
 
Customers speak on Magnolia CMS
Customers speak on Magnolia CMSCustomers speak on Magnolia CMS
Customers speak on Magnolia CMS
 
Quality Nearshoring met Tricode
Quality Nearshoring met TricodeQuality Nearshoring met Tricode
Quality Nearshoring met Tricode
 
AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?AEM Digital Assets Management - What's new in 6.2?
AEM Digital Assets Management - What's new in 6.2?
 
10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen 10 nearshoring it trends om in 2016 te volgen
10 nearshoring it trends om in 2016 te volgen
 
Tricode & Magnolia
Tricode & MagnoliaTricode & Magnolia
Tricode & Magnolia
 
Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile Why you should use Adobe Experience Manager Mobile
Why you should use Adobe Experience Manager Mobile
 
Introducing: Tricode's Software Factory
Introducing: Tricode's Software FactoryIntroducing: Tricode's Software Factory
Introducing: Tricode's Software Factory
 
Offshoring: Top 10 verborgen kosten
Offshoring: Top 10 verborgen kostenOffshoring: Top 10 verborgen kosten
Offshoring: Top 10 verborgen kosten
 
Communication and its Importance to a Developer
Communication and its Importance to a DeveloperCommunication and its Importance to a Developer
Communication and its Importance to a Developer
 
Little Brother Is Watching You
Little Brother Is Watching YouLittle Brother Is Watching You
Little Brother Is Watching You
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2
 
Tricode = Career + Fun
Tricode = Career + FunTricode = Career + Fun
Tricode = Career + Fun
 
Content Marketing: How to Create Relevant Content for Your Audience
Content Marketing: How to Create Relevant Content for Your AudienceContent Marketing: How to Create Relevant Content for Your Audience
Content Marketing: How to Create Relevant Content for Your Audience
 
Provisioning aem with puppet
Provisioning aem with puppet Provisioning aem with puppet
Provisioning aem with puppet
 

Intro to Node.js

  • 1.
  • 2. Што е Node.JS и како настанал Кои се основните карактеристики на Node.JS и како функционира во позадина Како треба да ги развиваме нашите апликации во Node.JS и на што треба да внимаваме Можни комбинации на Node.JS со останатите технологии и програмски јазици Добри и лоши страни и во кои ситуации е пожелно да се користи Node.JS а во кои да се Node.JS – Што ќе опфатиме
  • 3. Node.JS е околина за развивање апликации на сервер со користење на JavaScript како програмски јазик Што е Node.JS ?
  • 4. Идеата за да се користи еден програмски јазик за front-end и back-end програмирање постои од поодамна. Што е Node.JS ?
  • 5. Едни од првичните обиди да се користи еден програмски јазик за web апликации е со креирањето на клиентски компоненти на сервер и да се компајлираат користејќи JavaScript Што е Node.JS ?
  • 6. После многу неуспешни обиди, е создаден Node.JS. Node.JS не само што ни овозможува да користиме JavaScript како back-end програмски јазик, туку и ја промовира идеата за: event-driven non-blocking programming Што е Node.JS ?
  • 7. Event-driven, non-blocking I/O programming Користи една нишка (thread) за извршување на сите операции и барања од клиентите Основни карактеристики на Node.JS
  • 8.
  • 9. var result = database.query( "SELECT * FROM hugetable" ); console.log( "Hello World" ); Blocking programming
  • 10. database.query( "SELECT * FROM hugetable" , function(rows) { var result = rows; }); console.log( "Hello World" ); Non-blocking programming
  • 11. Сите I/O операции треба да бидат event- driven ◦Читање и запишување од диск ◦Работа со бази на податоци ◦HTTP барања Како треба да ги развиваме апликациите во Node.JS
  • 12. Да се внимава да не се појави exception (грешка) ◦Другите околини кои што користат throw exception за нивно справување ◦Node.JS се справува со грешките со тоа што ги враќа назад до тој што ја повикал функцијата преку callback параметар Како треба да ги развиваме апликациите во Node.JS
  • 13. Да се избегнуваат калкулации кои што ќе одземат повеќе време ◦Ќе се блокираат сите операции и барања што веќе се во редот на чекање да бидат извршени ◦Ќе се блокираат сите нови конекции од клиенти и нивните барања Web Workers служат за извршување на одредени процеси, надвор од главната скрипта Како треба да ги развиваме апликациите во Node.JS
  • 15. Зголемени перформанси во самата апликација и во развивањето на апликацијата од програмерите Во Mongo DB може да ги зачувуваме податоците во JSON формат, во Express.JS и Node.JS да извршуваме JSON queries и многу лесно да праќаме JSON податоци на Angular front-end Предности на M.E.A.N. и користење JavaScript во целата апликација
  • 16. Нема застој на сите I/O барања Може да овозможи многу повеќе конекции Може да се користи скоро на сите сервери и да се комбинира со други back-end програмски јазици на ист сервер Има голема интернет заедница Позитивни страни на Node.JS
  • 17. Секоја обработка на податоци која што ќе одземе повеќе време ќе направи застој за сите клиенти и барања Сеуште не функционира добро со релациони бази на податоци Негативни страни на Node.JS
  • 18. Real-time сервиси/апликации кои што скоро целата улога ќе им биде да читаат/запишуваат/препраќаат податоци ◦Live chat ◦Live stream ◦итн За какви апликации ќе може да го користиме Node.JS