I made my own Web
HTML-код
- Опубликовано: 30 май 2024
- To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/FaceDev/. You’ll also get 20% off an annual premium subscription.
GitHub: github.com/face-hh/webx
Featuring @theunrealtarik! Check out his content too :)
Patreon: / facedevstuff
Discord server: / discord
Twitter: / facedevstuff
Outro song - • 9 • Nine Nights • Day ...
Character art by @JersonEXE
- Twitter: / jersonbrawlstar
This video was sponsored by Brilliant
Thanks for watching! - Наука
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/FaceDev. You’ll also get 20% off an annual premium subscription.
mk
Ty jsi Čech???
chat.yap
Windows ❤
BROOOO noway i was just thinking about doing this!
congratulations, you ported the "linux users compiling a web browser" meme to windows
yes.
and the fact that it's just easier to compile shite on linux
Fr
I don't understand this comment. Someone explain the joke please
@@poleve5409 there's a meme that linux users have to compile their browser from scratch to use it, usually made by windows users that have hardly touched Linux
= horizontal rule
oooooh that's right, the
---------------------------------------
rule
Rule like ruler?
@@Ginto_O That's right! They both refer to a straight line (a ruler being a tool that makes such straight line)
i thought it was HoRozontal line or smth
@@vinapocalypse oh that's cool, I never knew that. That explains why the Russian word for "tape measure" is "ruletka"
So basically you made Internet 1.0 web browser just slightly more refined.
_(FREAKING BEAUTIFUL!)_
stop smoking @@NataliaNovak-me5ph
@@NataliaNovak-me5ph average chatgpt youtube bot
That windows development sequence really is peak.
for doing that I just install Linux😂😂😂
I have literally the same process
Wsl+xming is a weird life cheat combination.
The only way to get better is normally installing linux like a normal programmer...
100% realistic btw
That's funny because it looks very similar to my experience on Linux... lol
ah yes two confused men doing confusing stuff confusing even more confused people
Next FaceDev: This is Bussin OS. This is My Operation System for everyone my community 😄
I mean. I genuinely would not be surprised. If you just want basic like windows 3 stuff it's actually not all that complicated.
I mean, making a Linux distribution is pretty easy, if you know what you are doing (which takes like 2 days to learn).
@@xandermckay9806 just repackage arch with your own package repo
@@xandermckay9806 Even if you make it from scratch on the kernel? What if he makes an independent OS from linux?
@@xandermckay9806he's saying OS, not a distro. Look how difficult it was to create TempleOS from scratch :)
"Every website is written in HTML, CSS, and Ja.. Lua" I went from 🧐 to 🥳🥳🥳🥳
This makes me sad because I never really learned Lua but have had a lot of experience with JavaScript, so having to learn an entirely new language that is completely different from the one I'm so used to is kinda depressing. Not hating on Lua or anything, I'm also a fan of how Lua is much more optimized than most interpreted/JIT languages like JS, just saying that it would be difficult to learn it when there's (seemingly) not as large of a learning community around it from what limited research I've done
YAY IVE BEEN A RBOLOX GAME DEV AND I HAVE A LOT OF EXPERIENCE WITH LUAU! :D luau is just lua but a little bit different there isnt a much of a difference
@@SpringySpring04 It's not hard to learn. The documentation isn't _great_ (it's more of a syntactic reference), but the language is so small that it can be mastered within a week _at most_ and, on average, a day or two. It's also not "completely different" from JS. They're quite similar.
It's dynamically typed, it has objects and arrays (tables), it has methods on objects, it has classes, it has lambdas (anonymous functions), it has top-level statements, it has "require," it's garbage-collected, etc.
The biggest differences come from syntax. Oh, and metatables (but that's basically just operator overloading) and coroutines (but those are just generator functions with a few less restrictions)
Everything that can be written in -JavaScript- Lua, will eventually be written in Lua
Is it luaJIT(just in time compiled lua) or plain old normal lua? If it's luajit that's pretty based and would actually get me interested in making stuff for it since luajit is faster than normal lua since the code doesn't have to be reinterpreted every time it executes, it only has to be interpreted once then it can run the cached code after that which speeds things up a lot
bro is on a mission to remake everything
I made my own universe
* in rust
Finna play GTA6 on Bussindows 10
Grand Fanum Tax Auto 6 💀
@@alexanderbuchler4048 stop existing bro
Fr@@alexanderbuchler4048
@@alexanderbuchler4048gyat fanum tax
lmao 💀
Missed opportunity to include support for Bussin X lmao
Yeah i thought about it too
Now I understand how Javascript was made in 10 days.
Which is funny, because just think about how long and complex was the web to create, with very resilient and well though out protocols, which were able to survive the crazy growth of the internet, just for it all to be ruined by javascript lol
@@no_name4796 to be fair js was never ment as something permanent, but if it doesnt work why fix it?
wait....
@@no_name4796javascript doesn't ruin the Internet bro?
@@no_name4796 saying js ruined the web is like saying the discovery of nuclear fission destroyed hiroshima
@@no_name4796How JS ruined the web? If it was such a disappointment, it wouldn't be integrated by every browser. I love JS for it's simplicity. Easy to learn, easy to build anything with JS, that works on any device without the need for the user to do anything else besides opening a web browser
We reinvented the web before GTA 6
hey, thats me. 11:35
And yes I have both 12 wheels of cheese and 12 playstations :)
Wow
just to clarify for the commonjs website, it's not making fun of js. Commonjs is not even a part of js but rather a hacky abomination added on top of js to make it work inside Node. JS devs also hate commonjs and everybody is slowly migrating to es modules.
I'd tackle the problem at the source and just switch to a better language 💆♂️
2:14 "horizontal rule" but most of time I just remember the "horizontal" part :B
to me, i just through it was "HoRizontal" lol
Horizontal Row
@@TriflingToad It's rule.
@@TriflingToad its rule but it doesnt matter how u remember it ig
@@Communist-Doge oh yeah I know it's technically incorrect, it just makes more sense to me that way
Babe wake up gen-z Internet just dropped
I think making a "verified" system for unironically good websites, or being able to like or dislike would encourage web-making by rewarding them, and it would be easier for users to find fun stuff and enjoy
this sounds like neocities
That would be nice for a reputation based search engine. Lovely site? Many likes puts it on the first page. Ads galore and a underlying scam? Get disliked into oblivion.
yeah but if it got any bigger youd need really good moderation but a discovery page for a browser like this is pretty interesting
Xanadu sure was a way of rethinking how the web was supposed to be:
An interconnected _web_ of information allowing users to organize their own connections locally, no 3rd party intervention/algos.
For anyone interested in another protocol, the Gemini protocol also exists. It's not possible to have advertisements by design there.
THX SO MUCH FOR THIS!!! I'm reading their entire FAQ!
I highly doubt anything short of magic could prevent ads from being shown. Ads are just content and can therefore always be included. I could include an ad in this RUclips comment and nothing except for spam detection or manual flagging could stop me.
"It's not possible to have advertisements by design there" LMAO
@@TheStiepen Lets be real, we all know what they really meant
@@shmeboptop no, I honestly don't.
Gemini and other "small web" protocols are neat, it's like exploring a small town where you have the locals telling you where to find all the interesting places and stuff.
that's what the internet was like in the early days...the good ol' days
i was making a small web protocol, those are really fun :3
@@jearshi remember we had our local isp directory with all the boards and forums and stuff, good times haha i still talk to a couple of friends i've met on one of the forums back then! It was fun and special
Ok furry
@@GeneralKenobi69420 ok redditor
Forget Web3, it's time for Web4!
web0 is probably the more correct term
stands for "horizontar rine" (or "horizontal line" without the anime accent)
🇯🇵🥷
horizanturu rainu
I love how you used Lua! I’m a lua programmer myself and I love it when lua is used in projects outside of just Roblox where it’s most known and really.. what I do to… Lua is so underrated
Ohh boy imagine making your own mmorpg 2d with ready engine that works with lua.
The forgotten server github.
Enjoy
Factorio was also written in Lua, on top of a C++ in house engine if i recall. It was done this way so they could do low level optimizations in C++ and write the main game as a mod for it. You can even see it in the mod menu! This also let them test out the modding api first hand.
Hey, lua is used for neovim, btw!
Which was how i learnt lua (luajit, actually)
@@no_name4796 really? i didnt know that!
Most Doom source ports have a BLua API for some reason
1. You can think of div as a parent of some children.
2. Pretty sure hr stands for horizontal rule.
WONG! HR stands for HORIZONTAR RINEBREAK!
hr stands for human resources dude
Div is a container
You can think of div as something juniors reach for cause they don't know semantic HTML.
Nah, HR stands for Croatia.
Leaving out the dot before a css class makes it modify every tag of that type(e.g. h1)
bro he coded the damn thing😭
@@luis_mz08 he didn't code the css parser
@@undefinedchannel9916 did he not?
@@abdullahenayaGTK seems to ship w/ a GTK-powered theming engine. Very useful on Linux
@@abdullahenaya GTK uses XML and CSS for all organization. So the parser is already there, complete with a set of default objects that you can translate HTML as.
netscape isn't short for net escape. Scape in this sense means "A specific type of space" Like RuneScape. So it's net land or net space.
@ClayMurray8 - Yep. It's like "landscape". A landscape for the 'net.
Let him cook
2:45 "Why do you need IDs when you already have classes?"
What lol
IDs are for labeling elements to be used in javascript.
Classes are used specifically for css, but you can also use JavaScript ids in css
and you cant use tag name selector??
10:21 Czechia Mentioned
7:36 italy mentionatedddd
ID tags are actually very useful if you want to link to a specific part of a webpage and not just the top of the page
Next FaceDev: I coded an entirely new universe where everything starts with "Buss".
>GTK can run in Windows
>me: I know it can, but really? I've heard people talking about it not being good for multi-platform, nvm that GTK these days are pretty much built for GNOME only...
>Gets to the Windows fixing sequence
>me: Ah...
With Windows, at least the issue is only on the developer end and the user doesn't have to compile the GTK library with tools they don't have
@@charliekahn4205? Why would you compile GTK on Linux? Every distro comes with it by default. Even if not, it's automatically pulled as dependency whether you use apt, dnf, pacman, flatpak, snap, ot nix package managers.
@@charliekahn4205 why would you compile GTK library? It's there by default for most distros, and any package managers could handle pulling them as dependency.
i like how everyone is blaming it on windows even though gtk sucks on linux as well, and other frameworks like flutter work flawlessly on windows
Now make a OS with BSX, that supports all of your software.
Yea, this is gonna blow up. Great work buddy, truly bussing
is horizontal rule. Gtk does support scaling in the CSS.
if you don't need to put a dot in CSS to select a class, how do you select a tag? in regular CSS, '.div' would apply to any element with the class 'div', but 'div' would apply to any div.
this is skibidi logic okay chill
@@21stWallStreetwhat?
I was thinking the same thing…
I wondered the same thing too.
(I've worked with CSS quite a lot on my own website that I write without any tools past FTP and a text editor)
just don’t make a “div” class, why the f you doin that anyway
now create your own submarine cables and now you have the real Web2.0
Fun fact, actually stands for "horizontal rule"
7:56 this doesnt look that sketchy. I would probably trust this more then something that looks very modern while also being basic
hr = horizontal rule
is horizontal rule I believe. Great video!
FaceDev in 2024: I made my own Web
FaceDev in 3016: I made my own universe
Honestly GTK running on windows is like updating system packages on arch without breaking things: purely theoretical.
I can tell you as a windows dev porting stuff from our world to linux is basically the same experience just in reverse 😂 (you let users change your application dependencies and SHARE LIBRARIES SYSTEMWIDE WHICH CAN BE CHANGED? Are you mental?)
It's really this huge philosophical difference in how libraries should be treated that really drives us each other nuts, everything else is so portable these days
I mean, gtk sucks also on linux on any DE which isn't gnome, although just from a style POV
Btw, wait what? You can fucking change systemwide libraries on windows?
Shesh!
How the fuck is windows the most used OS?
GTK is my goto ui framework an an end user, because my first distro was Ubuntu but I was too young to understand *NIX. 1/2 Yrs ago I went to Mint, from which I jumped to arch and stuck w/ GTK. As such, I refuse to acknowledge the flaws of GTK+3, but GTK4 is stupid @@no_name4796
or you can just use flutter like a normal person. Or tauri if you're really adamant on using the abomination called rust
This video feels oddly nostalgic, and I'm not quite sure why. Really good video!!
0:07 Every website is roblox, life IS ROBLOX, EVERYTHING IS ROBLOX, YOU ARE ROBLOX
Bro... why'd you doxx me 😭😭
???
*New JS Frameworks and New databases being released everytime anyone breaths
Major Rust rewrites, with a f**k**g Internet Rewrite: Fear me, dear me and suffer for me
the rust rewrites in question: barely functional MVP hobby projects
CSS doesn't use . for classes because of ids.
It uses it because of tags.
You can style all paragraphs with a CSS selector of p
You can style only paragraphs of a particular class with p.class
Bussing Laughter begining to end, top notch quality
ok, time to start finding the most efficient way to ddos this
How am I supposed to select classes that have the same name as elements?
Why would you name a class the same as an element?
@@sw3aterCS_ i think he was referring to just selecting an html element without using classes, like you can do "p" in regular CSS to select all paragraphs on the page, which you can't do in the browser he made
Not gonna lie you have a lot of really cool ideas in here the simplifications to your lua code and css are great and this is a great idea, love the video man!
stands for horizontal rule. Think of a ruler
Not only the nerve system is annoying, but there's also a ton of problems with CSS and HTML, that you only begin to uncover after you've wasted couple years of your life actively doing web development
Also Lua itself is plenty annoying. I mean, what's up with mashing tables and arrays into single thing, and then sprinkling it all with a ton of null-handling corner-cases?
Lua might be more annoying than JS from the correct angle
Stop taking it seriously. This is a funny video and not a whitepaper for Internet 4.0
@@chri-k I like that Lua is simple. Until when it isn't.
Meanwhile JS is just Lua++ in my eyes. Overcomplicated deprecated badly-designed mess.
And hence it's in my plans to make a replacement for the two, as a part of my hobby megaproject. Yeah, my ways of having fun are highly questionable
@@FirstYokai He made a small web infrastructure for fun. I poked at languages with bad design choices for fun
You're the only one here who's making it all serious by bringing a grumpy attitude in
@@tempname8263 Megaprojects are a completely normal way to have fun.
pretty cool vid. Loved the idea of your own web lol
Nice job! Great editing too! You just got a few new subscribers, I believe ❤
I love how this fixes 0% of the issues we're currently facing on the web, and reverts 200% of the progress we've made :3
don't see a problem, it doesn't affect main web and made just for fun
True... we need a new web, not the old one
Cool side project to slam on a resume but leaving out IDs and no mention of screenreader support among other wcag thing make it not a viable product
I have some questions:
1. Do you support WebGl?
2. HTTP ref links in the head tag?
3. Center tag? Need it for all my websites.
1. No
2. yes
3. No, just align-items: center
@@FaceDevStuff Can you add WebGl? My website relies on WebGl?
I can't believe you worked so hard to get the thing to work on Windows.
The web is definetely crying for a complete overhaul.
as someone who does websites, a lot of the changes feel like an absolute "fuck you" lmao
so many unnecessary axing of features that were genuinely useful
Yeah, I agree.
Sleep was so convenient
yeah, especially for fetch. Not having threading as well as not letting you just put in the url as one argument and everything just working out kinda hurt ngl. Also also apparently he used rc a lot even though apparently there isn't really any overhead for using arc.
You make a browser. Oh wait you do websites.
im hoping this was only satire or a funny hobby project and that he isn't serious about making a "new web"
as a lua mainer, hell yeah I stand with buss
Roblox player
@@ziphy_6471 hell yeah
lua mainer
i’m sorry for your loss
this guy is so cool "i just built my own web protocol yeah what about it"
As an experienced programmer, I can confirm we start wars with the linker and compiler more than you could ever imagine. We may win a battle but that's only part of the war.
This looks too Complicated
it really isn't
why did you pick lua? lua has the exact same problems javascript does only lua has less tooling and ecosystem than javascript
Cuz it's a good language
L take, just use whatever ur good at if ur skills come from the language ur not a good engineer
Lua is notoriously easy to be a language that embeds well in other programs
@@kiikoh I'd have picked WASM if the goal was an embeddable language
@@danieltoth714 how will you become a good engineer and learn new skills if you only stick to what you're good at?
It's pretty cool. I've been working on my own version of this for a while now.
Difference with mine is:
1. No JS or Lua. I'm building my own language and runtime.
2. No CSS
3. No HTML
In fact, I'm building a gui framework for this browser in my language.
I'm adding dev tools and such.
Minimal dependencies.
Oh, and the browser is written in the same language as the websites. The compiler targets native code as well as the runtime.
Brings a tear too my eye.
FaceDev: Uses GTK
Slint & Iced: 👁️ 👁️
👄
I can't hear the background music without thinking of the song Jort Storm
Thank you for sharing!
7:45 "It still wants DLL's!"🤣. So relatable!
2:53 dot goes before class name to differentiate it from rules for tags (button/div/p/body/...), not for ids. Ids prefixed with #
This video is hilarious and serious at the same time, satirical yes😂
you might just be my next favourite dev
great video! I'd love a more in depth video about the development process and technical details, too. Awesome content dude.
0:28 "Except the nervous system is very annoying" Bro could not be more relatable 💀
Windows has native support for Linux, if you install the browser into the Linux file system you could probably run it fine, you could do the same with Chromebooks(the newer ones have Linux support). There are a few guides online to do that, also there are several VMs that would allow the use of your browser on mac too.
FaceDev in his Terry Davis era
imagine if this blows up and becomes the normal standard for web XD
I wanted to do this for a long time. Nice to see someone had the exact same idea
Love this video! Hate that I am too lazy for fun stuff besides work
at 5:21 he discovers why javascript isn't completely obsolete. because by design, JS seldom blocks the UI while waiting on IO
I was just reading about domain extensions outside of the DNS system. Insane work ❤
GREAT WORK!!!
omg thx for adding lua finally i have the will to live-
3:08 JORT STORM
Bro's soon gonna make a new world
The phrase "i remade the web" is more true even if "web" is being applied to a local wifi network with custom dns and websites instead of web
But, good job.
This is really awesome!
Good video! What did you use for your api? I feel inspired.
Mark my words, FaceDev will definitely blow up
Bro you are on whole another level
Finally someone makes a fan web browser!
unironically what web should look like
Cool idea! Just a thought, but what about using Tauri as the application front end? Tauri already uses rust and uses the OS's built in html engine meaning it can display full html pages. Plus with Tauri v2, they added mobile support.
Actually, only XML supports self-closing tags. HTML does not support self-closing tags, it is just an artifact of tags that have no child that they can be automatically detected when you put a bunch of garbage (like a /) at the end. You could put any character there, but it is slightly slower.
And XML supports inline code a tiny bit better. You can set the script type attribute, just that most browsers don't run other languages.
Goddamn you just threw all my web scraping abilities to the trash
welcome to the wide world of web
Welcome to the wide world of world wide web