Komentáře •

  • @alexandre3932
    @alexandre3932 Před 3 lety +302

    The reason why i don't use framework like React and others is because i was waiting for this kind of tutorial to understand how it works under the hood.Thank you very much

    • @mauriciochavez8528
      @mauriciochavez8528 Před 3 lety

      in your application always use vanilla js or jquery?

    • @alexandre3932
      @alexandre3932 Před 3 lety +15

      @@mauriciochavez8528 I use Vanilla JS for everything. I don"t see the utility to use Jquery

    • @justinjenecke8153
      @justinjenecke8153 Před 3 lety +6

      Same here, coming from a background of strongly-typed languages, Js frameworks throw me off so much when trying to learn them, even after playing around with vanilla js code for a few days.

    • @m3awna
      @m3awna Před 3 lety +12

      @@taoufiqbenallah9029 you never know, we might be wasting more time than he does. in my opinion
      most of those who use a framework (hammer) for every project are very good at slacking (or, at best, spending hours trying to figure out why something is not working in their correctly structured big mess)

    • @m3awna
      @m3awna Před 3 lety +6

      @Solve Everything that's not his intention. the idea is to show us how frameworks work under the hood, keep it up man

  • @ryugavegeta5734
    @ryugavegeta5734 Před 2 lety +53

    These JS projects which you have uploaded is art.People dont watch this stuff thinking they would be reinventing the wheel but actually we are just trying to customize the rims. If that makes sense these projects teach you everything from scratch i.e debugging,internal working which many people are unable to understand .Kudos to you mate.

  • @psychonighty3076
    @psychonighty3076 Před rokem +10

    I am a full stack web developer for 4 and a half years now and been doing project throughout the entire time. I can tell you from everything that I learned , this is by far one of the best and most simplefied explanation , I wish I learned Javascript this way when I just started as it would save me so much time and help me understand the main ground and the "how" and not the "why".
    Great video and straight to the point

  • @dcode-software
    @dcode-software Před rokem +14

    **IMPORTANT:** Use port 3000 over 5060
    As many have pointed out in the comments, it's recommended you go with a port number other than 5060 as referenced in this video.

  • @TomasMisura
    @TomasMisura Před 3 lety +58

    This tutorial is one of the most useful for those who wants to do front-end development for his living as this is one the common question during interviews meaning how to make single page web app using javascript with no framework.

    • @dcode-software
      @dcode-software Před 3 lety +7

      Appreciate that Tomáš, thanks!

    • @Ssomberlain
      @Ssomberlain Před 3 lety +1

      Im at min 10 and this looks like a fullstack app.

    • @benzflynn
      @benzflynn Před 3 lety +6

      Are you looking at this video at all? He uses Node.js (a server framework with built-in modules and a huge repo of user-written modules, npm) and also Express, a JavaScript framework for the backend work.
      Personally, I think using a Node.js server for routine functions like page navigation and reloads is a violation of the usual division of work at the back end: page requests go to the web server (Apache/NGinx) while user events are handled by Node. Doing it this way puts the two types of task on separate threads inside the CPU rather than have one type bottlenecking execution for the other type.

    • @benzflynn
      @benzflynn Před 3 lety

      ​@@jackred2362 Not so. Node.js is not merely a server creation framework plus a JS runtime. It also has a good store of core JS modules and accepts all npm modules. Express is itself an npm module which incorporates many common backend functions, e.g. authentication, search, payments, etc. But you don't have to use Express. You CAN select code units from Node's built-in library and the npm repositary and write some JS code to link it together yourself. In fact I'd advise newbees to Node.js to make their first apps without Express just to see how Node works and all it has without Express/Koa/Hapi. Express of course expects users to be up to speed with all the latest JS constructs and newbees won't be quite there yet.
      Don't believe me ? Look at this czcams.com/video/H9fg7GFagF4/video.html

    • @benzemamumba
      @benzemamumba Před 2 lety

      It's moronic and counter-productive to go without a framework.

  • @sirnawaz
    @sirnawaz Před 2 lety +4

    I really loved this small demonstration of the building blocks for single-page applications. I got some basic ideas as to how frameworks like React, Vue and Angular actually work under the hood.

  • @seth111yta1
    @seth111yta1 Před 2 lety +6

    *here are the basic points*:
    # Server:
    Restrict responses:
    - return requested file for static/* requests
    - return index.html for everything else
    # Browser
    1) Override default navigation behavior:
    - Single click handler "up high" on the body.
    - If the event target is "one of the navigation links": prevent default and push history.
    2) Listen for history changes:
    - Create a lookup table that couples routes with markup.
    - When the route changes, find a best match in the table and dump its markup into the dom.
    *congratulations* you just saved 40 minutes of your time.

    • @fastlearner9993
      @fastlearner9993 Před 2 lety +2

      you gave a very good clear breakdown summary of the key components necessary to create a S.P.A with a vanilla js, but as a beginner its also good to be able to watch few different coders create stuff like this , so we can code along and learn etc etc . but your comment also helped me fully grasp what is actually happening in this video .

    • @MingJianYap
      @MingJianYap Před 2 lety

      Or just jump to the github URL to check the code

  • @filippozallocco4946
    @filippozallocco4946 Před 10 měsíci

    Hats off to the creator! If you're looking for the most straightforward and hands-on frontend project tutorial, this is the video you want to follow. Seemingly complicated concepts are explained in the simplest terms, and you can tell that a lot of time and effort went into creating this video. I would recommend watching this before diving into React development!

  • @leengubane869
    @leengubane869 Před rokem

    This is the best tutorial on SPA ive ever come across on my entire WebDev journey. Thank you so much.

  • @GamesForDays2
    @GamesForDays2 Před 2 lety +46

    As a student working on creating an SPA for the first time, this was extremely helpful and straightforward. Allowed me to understand what I was working on while giving me a foundation of what the JavaScript was doing, helping me follow what I was making and actually understand the code!
    You're a lifesaver!

    • @jplaza7210
      @jplaza7210 Před 2 lety +4

      My question is how does he know to use all of this code and where does he research to figure it out?

  • @LukeAritie
    @LukeAritie Před rokem

    by far the best expanation tutorial ive seen, strait to the point but doesn't skip any reason

  • @CalifornianViking
    @CalifornianViking Před 2 lety +40

    Bravo!
    I just love this video. It is clean and using the tools the way they were intended to be used without loading unnecessary frameworks and modules.
    All real web browsers now support ES6. There is no need to use all these tools that dumb JavaScript down to the lowest common denominator.
    Thanks!

    • @dcode-software
      @dcode-software Před 2 lety +9

      I'm glad you liked this video. Thank you so much for your donation!! 😁

    • @pure4lyfe5
      @pure4lyfe5 Před rokem

      When you say dumb JavaScript down, are you talking in terms of abstraction or performance?

    • @thecoolnewsguy
      @thecoolnewsguy Před rokem +1

      ​@@pure4lyfe5simplicity

  • @morgan3692
    @morgan3692 Před 7 měsíci

    I work with node js since 2016. One of the best tutorial I've ever seen.

  • @EvertonCanez
    @EvertonCanez Před 2 lety

    Congratulations, Dom! Your content is one of the bests. I can't let to watch every video that you post. Thank you very much!

  • @tmibtruemakers
    @tmibtruemakers Před 2 lety +7

    That was so much value in 30 minutes for someone that understands basic js but not it's practical use. Thanks a lot

    • @jplaza7210
      @jplaza7210 Před 2 lety +3

      My question is how does he know to use all of this code and where does he research to figure it out?

  • @tvvmvn-3417
    @tvvmvn-3417 Před 2 lety

    This tutorial deal with every aspects of what we can do with javascript. short but mighty tutorial, Thank you for sharing this!

  • @asifzaffar343
    @asifzaffar343 Před 3 lety +1

    To the point, very informative - I pray channel grow more and more.
    Waiting for the next video in continuation to this tutorial.

  • @jogoeire
    @jogoeire Před 3 lety +2

    I'd better amend my comment. It's a great tutorial. Yes the first 11.30 mins are setting up Express Framework routing to serve the HTML... but then it gets down to business and explains the client-side part really clearly -- better than other material ive read. I can see how the first 11 mins are useful for context. Watch this tutorial

  • @fabian3411
    @fabian3411 Před 2 měsíci

    I don’t usually leave comments, but this is exactly what I was looking for. Very easy to follow, thank you!

  • @sandeepsandy214
    @sandeepsandy214 Před 3 lety +6

    Awesome Video through this i got to know how react, angular, vue are working

  • @aashirimran2471
    @aashirimran2471 Před 3 lety

    Really enjoyed the video! faced a few hiccups with it but learned much more! Thankyou😀

  • @TomHermans
    @TomHermans Před 3 lety +22

    Awesome tutorial. Gives a very clear under the hood look on how these things actually work, with plain vanilla JS and without becoming confused by framework specific methods. Subscribed to the channel.

  • @nowiK45
    @nowiK45 Před rokem

    awesome! i've been looking for this kinda lecture! thanks a lot ! mr. vanilla!

  • @mathis-meth4229
    @mathis-meth4229 Před rokem

    this is one of the best channels for understanding the web. Love your work brother :)

  • @vinodyevatikar1594
    @vinodyevatikar1594 Před 2 lety

    THE BEST VIDEO EXPLANATION ABOUT SINGLE PAGE APPLICATION. thank you so much for sharing 🙌

  • @huyphamuc6372
    @huyphamuc6372 Před 2 lety

    20:00 The video is starting really informative for me personally from here since this is basically modern JS frameworks are based. Can we just appreciate how much effort this guy put in his video preparation just to let his mouse dided in the process?

  • @anandbaraik5010
    @anandbaraik5010 Před 2 lety

    Man you have pretty good tutorial on vanilla js. Learning a lot from you. Subscribed ✌️

  • @p.polunin
    @p.polunin Před rokem

    How concise and simple! Thank you very much!

  • @nameoftruth
    @nameoftruth Před 5 měsíci

    Thank you very much for your great javascript tutorials DCODE...
    Great clean knowledge !

  • @kadirramazn
    @kadirramazn Před 3 lety

    Thats what i've been thinking of when studying react. Thanks :))

  • @ka1pana
    @ka1pana Před 2 lety +5

    Thank you for a great presentation. I am a returning UI developer, out of touch with React/Angular etc. Wanted a barebones intro back in JS, and Node. This was perfect for me!

    • @carldrogo9492
      @carldrogo9492 Před rokem

      You should NOT use frameworks without understanding the basics and fundamentals of plain JavaScript. 🤦‍♂️

  • @hatim854
    @hatim854 Před rokem

    Thank you very much! this was very helpful to me and to a lot of people out there

  • @AysProPlugins
    @AysProPlugins Před 2 lety

    Very clearly described!
    Thank you for your work.

  • @LisaMiner2010
    @LisaMiner2010 Před 3 lety

    This was super helpful! Thank you a bunch!

  • @lokinewborn3696
    @lokinewborn3696 Před 3 lety

    HUGE THANKS, this really helps my javascript skills,

  • @andylib
    @andylib Před 3 lety +2

    Thank you, this is so elegant

  • @netty7263
    @netty7263 Před 3 lety +28

    in case other people have issues...I was only able to see the app running on port 3000 not 5060 (not sure why) , so just change 5060 to 3000 in server.js

    • @javierrazonacosta6759
      @javierrazonacosta6759 Před 3 lety

      It's True ahahahaha

    • @techadventures6645
      @techadventures6645 Před 2 lety

      same here

    • @wavesky_pv
      @wavesky_pv Před 2 lety

      same, probably chrome issue with 5060 port, as is it seem to be a dangerous port or something, not sure why tho

    • @MrSoker123
      @MrSoker123 Před 2 lety

      Pretty much the same here. Don't know why either.

    • @DominicNweze
      @DominicNweze Před 2 lety

      @@wavesky_pv used for cyber attacks maybe that's why

  • @ervinpm
    @ervinpm Před 2 měsíci

    This video is gold, deserves more views!

  • @Roman-fb9mq
    @Roman-fb9mq Před rokem

    I have been really looking forward to the next video

  • @pawegrabowski4512
    @pawegrabowski4512 Před 2 lety

    Oooh... It's awesome. That is exactly what i looking for. Very thank you for your content! +1

  • @jasonfletcher3512
    @jasonfletcher3512 Před 3 lety +1

    Simple and clear terminology... very helpful!

  • @VictorSamuelMosqueraArtamonov

    Amazing tutorial, very informative, very well prepared.

  • @yeomkyeokyeo
    @yeomkyeokyeo Před 2 lety

    Thank you for your kind explanation!!! perfect!

  • @easywebscriptytc
    @easywebscriptytc Před 2 lety +1

    Awesome tutorial. You are a such a great javascript developer 😍

  • @dcode-software
    @dcode-software Před 3 lety +50

    Who likes the new video intro? 👀

  • @uguremirmustafaoglu40
    @uguremirmustafaoglu40 Před 7 měsíci

    great stuff, loving it

  • @olegfare4625
    @olegfare4625 Před 2 měsíci

    thank you for the clear explanation!

  • @eof_lemongrab
    @eof_lemongrab Před 3 lety

    Great little project to get the noggin joggin! Well done mate

  • @Bleblei1992
    @Bleblei1992 Před 10 měsíci

    Thanks it will helpful for me as a beginner in JS👍🏻

  • @user-oh7to8xw3j
    @user-oh7to8xw3j Před 12 dny

    Awesome tutorial! Thanks

  • @leowong888
    @leowong888 Před 2 lety +1

    dcode. Sir. Your tutorial is very simple and clear when someone no experience in SPA. Thank you. 😊

  • @carlesramos657
    @carlesramos657 Před 2 lety

    Great tutorial, thanks a lot for your job!!

  • @dcode-software
    @dcode-software Před 3 lety +78

    If you enjoyed remember to Like and Subscribe for more web development projects and tutorials! 🙂

    • @verdipratama
      @verdipratama Před 3 lety +1

      😊👌

    • @tabgimbarr
      @tabgimbarr Před 3 lety

      Hello, can you please continue this project? May be remake it from absolute zero with new view on it? You did wery well, but i think it’s can be done better! May be do more pages next> prev< buttons to slide pages, some image gallery, please i want to see

    • @tabgimbarr
      @tabgimbarr Před 3 lety +1

      what shoudl i do for example. I need to read elements returned by function getHtml after they appear on page, how should i do it? if i make script tag inside return it,s like invisible by javascript and it doesnt work! This is fitst reason that you should remake this code, its useless in this case.. so please redo it! i need that functionality NOW. if you ignore my messages i will unsubscribe! so please help or what you reason to do this tutorials? you want to give knowledge or what?

    • @tabgimbarr
      @tabgimbarr Před 3 lety

      i know solution its like
      function dynamicallyLoadScript(url) {
      }
      dynamicallyLoadScript('../../../test.js');
      is it right to dinamicly adding scripts after routing done? or you know some other way let me know

    • @tabgimbarr
      @tabgimbarr Před 3 lety

      its very interesting for me, so please continue this project, dont give up! It's going to be cool and useful for other people!

  • @a2311585
    @a2311585 Před 8 měsíci

    Sooooo helpful to learn spa!!! thanks

  • @mathematicalninja2756
    @mathematicalninja2756 Před 3 lety

    This clears a lot of javascript for me

  • @Kraffcho
    @Kraffcho Před 2 lety

    Thank you! This was very well presented +sub

  • @swrv_sounds
    @swrv_sounds Před 3 lety +3

    Backend developer here trying to learn some basic front end stuff. I started with React, learned a little about redux and routers, and got so tired of writing and learning so many different things, so I just gave up and thought, lets do it the old fashioned way. Tried and tested. Thank you!

    • @ahmedatya6226
      @ahmedatya6226 Před 3 lety

      How i can handle post request here ?

    • @carldrogo9492
      @carldrogo9492 Před rokem +2

      I keep telling people that you should NOT use frameworks without understanding plain JavaScript.

  • @craigwoollett2523
    @craigwoollett2523 Před 5 měsíci

    Dom you are an Aussie Legend!

  • @aghahasaan
    @aghahasaan Před 3 lety

    Thanks a lot man, you the best

  • @ibitoyefeyisara3006
    @ibitoyefeyisara3006 Před 3 lety +2

    Thanks dcode. With love from Nigeria.

  • @aelfar7533
    @aelfar7533 Před 3 lety +9

    I watched this video back in 2020 and understood nothing, watched it now again and have had like 20 WOW-moments haha XD! AMAZING WORK!

  • @newybocktor
    @newybocktor Před 2 lety

    Awesome, incredible explanation, valued content, thank you for sharing.

  • @N0TZ3R0
    @N0TZ3R0 Před 2 měsíci

    Awesome man, TYSM

  • @LonelyRiderStonerBand
    @LonelyRiderStonerBand Před 2 lety +5

    Awesome tutorial, would be great to have same with explanation how to use server-side rendering of HTML Templates or load html file as a content for each views ;)

  • @robwatson826
    @robwatson826 Před 2 lety +3

    "No frameworks"... installs npm with express. Perhaps the "server side" could have been separated a bit better so it's clear that's all you were doing.
    After watching the entire video, though, it was really interesting. I particularly like the data-link and global click handler, I use that frequently for all sorts of interactions with dynamic html.

  • @SRG-Learn-Code
    @SRG-Learn-Code Před 3 lety

    Cool, thanks for sharing.

  • @kennyakins3536
    @kennyakins3536 Před 3 lety +8

    Amazing 😀. I’m building an open source single page server side rendering framework using this tutorial.

    • @carldrogo9492
      @carldrogo9492 Před rokem +1

      Oh FFS, not another Framework. 🤦‍♂️

    • @kennyakins3536
      @kennyakins3536 Před rokem

      @@carldrogo9492 🤣 it’s mostly for practice

  • @dylanmitchley2109
    @dylanmitchley2109 Před 3 lety

    Thanks that was excellent.

  • @WitherRSN
    @WitherRSN Před 3 lety

    Great video at the right time! My company wants me to write an article for their blog and as topic I want present some Web APIs. Therefore I want to write an preparing article about transforming a "normal page" to an PWA on which I can implement more and more Web APIs afterwards to make the site more "app-like". To adress a bigger audience, I am currently implementing a small project in JavaScript only (I am not that experienced and Frontend-coded only with Angular yet, so using vanilla Javascript is not that easy for me). That's why your video comes right on point! Thank you for the detailed explanations.

    • @dcode-software
      @dcode-software Před 3 lety +1

      Awesome to here!! I hope it all goes well mate 😁

  • @Meleeman011
    @Meleeman011 Před 2 lety +4

    well done dude. i always knew it was possible, and i wanted to build something that is simpler and without stupid frameworks lol

  • @Jarajesh
    @Jarajesh Před 3 lety

    Awesome..... Be Blessed

  • @salvatoremilazzo
    @salvatoremilazzo Před 3 lety +2

    Hi, great video! I also think that for small - medium businesses it's probably better to use plain js and some sort of libraries only for reducing redoundant code. What do you think of a scenario with a client self routing spa like this that asynchrounosly rely on expess for getting every view ?

  • @nairgh
    @nairgh Před 3 lety

    Nice Viedeo. Are you planning to include the submenu on the sidebar. It should be great. Really appreciate your hard work. Thanks

  • @hsider
    @hsider Před 3 lety

    Awesome video and channel, hope it grows :) subscribed 👌

  • @azizkudaikulov993
    @azizkudaikulov993 Před 3 lety

    Yeah, it works!!! Thank's...

  • @kodiubah99
    @kodiubah99 Před rokem

    Respect bro🙌🏼

  • @brenoverissimo3846
    @brenoverissimo3846 Před 2 lety

    Saving for later!

  • @rangabharath4253
    @rangabharath4253 Před 3 lety

    Awesome as always. Thank u so much bro

  • @lightWithinUsAll
    @lightWithinUsAll Před 11 měsíci

    Thanks a lot!

  • @dwivedys
    @dwivedys Před 2 lety

    Excellent presentation

  • @yanis4345
    @yanis4345 Před 3 lety

    Thanks for the video it's cool

  • @stephenikuomola
    @stephenikuomola Před 2 měsíci

    Thank You so much!!!!!
    Can you also make an updated video as well?

  • @RamyRamone
    @RamyRamone Před 2 lety

    Thank you so much!

  • @andy.1331
    @andy.1331 Před 3 lety +20

    The last and elegant step you should make is to use HTML template elements instead of returning strings containing HTML code, because using templates you're able to edit page layout with support of all these cool editor features (at least to speed up process and avoid syntactic mistakes).

    • @AVC1602
      @AVC1602 Před 11 měsíci +1

      Can someone elaborate on this? I understand that writing HTML in quotes removes a lot of the handy features of VSCode. What I don't exactly understand is how templates can be used in this context.
      Would all of the templates be written in the index.html file and triggered by each view? This seems like it would result in a very bloated index file but I struggle to understand how the templates could be compartmentalized to each js view. Any help or explanation would be much appreciated!

    • @rs832
      @rs832 Před 3 měsíci +1

      ​@@AVC1602 they would each have their own file, so instead of calling string literal HTML, you would call the filepath where the template resides.

  • @edgarhovhannisyan7676
    @edgarhovhannisyan7676 Před 3 lety

    Very helpful lesson, Thanks !!!

  • @bookingsessential
    @bookingsessential Před 3 lety

    Nice Job!

  • @muammeraltunkan
    @muammeraltunkan Před rokem

    Thank You 👌

  • @333system
    @333system Před 3 lety +1

    Looking forward to the next video :D

  • @RyanFromUltrasound
    @RyanFromUltrasound Před 3 lety +1

    You're the man! This is just what I have been looking for. Excellent tutorial.

  • @BMikel
    @BMikel Před 2 lety

    This is an eye-opener how JavaScript works under the hood

  • @kosmotion2081
    @kosmotion2081 Před 3 lety +9

    5:28 For the ones who get confused why their npm is not working! you have to install node js to your pc or mac, and after that, you may need few extensions. you can search other tutorials if you still dunno what to do. Just type to youtube Install NodeJs to VScode and you will find solutions.

  • @arunkaiser
    @arunkaiser Před 3 lety

    Great Great Great 👏👏👏

  • @marcoslopesdasilva-ls1hj
    @marcoslopesdasilva-ls1hj Před 3 měsíci

    excelent!!!

  • @jimmymedia2049
    @jimmymedia2049 Před 2 lety +3

    What would be nice is to show how the core of modern frameworks works, being
    2 way data binding via proxy objects
    Virtual Dom using DomParser
    SSR hydration using DOM diff utility
    Modern bundler such as vite
    Dependency injection using TS inversify
    It can be done and really nice to break down all the hype we get around the big 3 which is mostly corporate driven but unfortunately affects everyone when we come to our next interview and often so called senior devs forget the most important thing which is the fundamentals :)

    • @carldrogo9492
      @carldrogo9492 Před rokem

      Don't do frameworks without understanding plain JavaScript.

  • @harrisonfok8267
    @harrisonfok8267 Před 3 lety

    Oh shoot this is amazing!

  • @TheSarangc
    @TheSarangc Před 2 lety

    Nice Explanation . Do you have an example of how data is flow to view , and two way binding works with Vanilla JS

  • @RobertPaulsim
    @RobertPaulsim Před 3 lety

    Hey dom! Your tutorial was key for me to revamp my things and start fresh 2020 with a new template.

  • @chubbyBunny94
    @chubbyBunny94 Před 2 lety +1

    I finally see the light! I've been cramming React thinking it was the only way to do this. Since watch your videos I've scrapped all React learning to focus on pure JS. Thanks

    • @chubbyBunny94
      @chubbyBunny94 Před 2 lety +1

      (I changed my mind. React was fun this is kinda long)

    • @user-mc8wg6qq3b
      @user-mc8wg6qq3b Před 2 lety +1

      @@chubbyBunny94 bruh

    • @chubbyBunny94
      @chubbyBunny94 Před rokem

      @@user-mc8wg6qq3b Lol - I am back to this only cause it'll help me get more comfy with React

    • @melchizedek79
      @melchizedek79 Před rokem +1

      @@chubbyBunny94 You're very funny dude

    • @carldrogo9492
      @carldrogo9492 Před rokem

      Learn plain JavaScript before using Frameworks! 🤡

  • @Rentaro_dev
    @Rentaro_dev Před 3 lety

    It;s our man Dom!

  • @kamrankhanofficials
    @kamrankhanofficials Před 3 lety

    i love ur many videos.. waiting for the next.. 'm from Pakistan..