I made my own Web
Summary
TLDRDieses Video präsentiert Bussin Web X, eine alternative Web-Version, die stattdessen das 'buss' Protokoll nutzt. Es bietet eine eigens entwickelte Browser-Engine in Rust und GTK, unterstützt HTML, CSS und Lua. Der Browser ermöglicht es, Websites kostenlos hochzuladen. Zusätzlich wird ein benutzerdefinierter Domain Name System (DNS) und eine Suchmaschine vorgestellt. Es gibt auch eine Herausforderung mit Preisgeld für die besten Websites. Der Prozess der Entwicklung und die Herausforderungen bei der Cross-Plattform-Entwicklung werden diskutiert.
Takeaways
- 🌐 Bussin Web X ist eine alternative Webplattform, die stattdessen den 'buss' Protokoll verwendet.
- 🛠️ Die Websiten werden in HTML, CSS und Lua geschrieben, was eine Abweichung von den traditionellen Standards darstellt.
- 💻 Es gibt einen von Grund auf neu entwickelten Browser, der auf Rust und GTK basiert, ohne Chromium zu verwenden.
- 🌐 Das Domain Name System (DNS) ermöglicht die Existenz von Websites in diesem alternativen Web.
- 📝 HTML in Bussin Web X folgt nicht den Standard-Regeln und unterstützt z.B. keine IDs, sondern nur Klassen.
- 🖌️ CSS unterstützt keine 'display' Eigenschaft, aber z.B. 'align-items' zur Zentrierung von Elementen.
- 🔗 Hyperlinks, die mit 'buss' beginnen, werden im Bussin Web X Browser geöffnet, nicht im Standardbrowser.
- 💬 Lua wird anstelle von JavaScript verwendet, um Interaktivität zu ermöglichen, bietet aber eine andere API für Elemente.
- 🌟 Es gibt eine begrenzte Menge an Top-Level-Domains, die von der Community vorgeschlagen wurden.
- 🚀 Die Entwicklung des Browsers und der Plattform ist ein komplexer Prozess mit vielen Herausforderungen, insbesondere bei der Cross-Plattform-Unterstützung.
- 🔍 Ein Suchmaschine namens Dingle wurde entwickelt, um Websites auf der Bussin Web X-Plattform zu durchsuchen.
Q & A
Was ist Bussin Web X und wie funktioniert es?
-Bussin Web X ist eine alternative Webplattform, die anstelle von 'https' das 'buss' Protokoll verwendet. Websites werden in HTML, CSS und Lua geschrieben und es gibt einen eigens entwickelten Browser, keinen Domain Name System und eine Suchmaschine.
Warum wurde Lua anstelle von JavaScript für Bussin Web X ausgewählt?
-Lua wurde gewählt, weil es einfacher zu verwenden ist und eine beliebte Skriptsprache ist, die bereits in vielen Projekten wie Roblox und Neovim verwendet wird.
Wie unterscheidet sich der HTML-Code in Bussin Web X von dem des herkömmlichen Webs?
-In Bussin Web X folgt der HTML-Code nicht den Standards und unterstützt z.B. keine IDs. Stattdessen werden Klassen verwendet und es gibt auch einige andere Abweichungen wie das Importieren von Lua-Skripten aus separaten Dateien.
Was ist der Name des Browsers, der für Bussin Web X entwickelt wurde, und in welchen Sprachen?
-Der Browser heißt Bussin Napture und wurde in Rust und GTK entwickelt. GTK ist ein Toolkit für Desktopanwendungen, das besonders in Linux beliebt ist und auch Windows unterstützt.
Wie wird die Benutzeroberfläche in Bussin Web X gestaltet?
-Die Benutzeroberfläche wird mit CSS gestaltet, wobei Eigenschaften wie Rahmen, Abstand, Außenabstand und Textstyling angepasst werden können. Es gibt auch die Möglichkeit, Elemente zentriert anzuzeigen, indem man die 'align-items'-Eigenschaft verwendet.
Welche Herausforderungen gab es beim Erstellen des Bussin Web X?
-Eines der größten Herausforderungen war die Entwicklung des Browsers für verschiedene Betriebssysteme, insbesondere Windows, was viele technische Schwierigkeiten und Kompromisse erforderte.
Was ist der Name der Suchmaschine für Bussin Web X und wie funktioniert sie?
-Die Suchmaschine heißt Bussin Dingle und durchsucht Websites, um ihre IP-Adresse und HTML-Inhalte zu extrahieren und zu speichern, damit Benutzer Inhalte suchen können.
Wie wurde die Community an der Entwicklung von Bussin Web X beteiligt?
-Die Community war an der Entwicklung beteiligt, indem sie neue Top-Level-Domains vorschlagen konnte und an einem Wettbewerb teilnehmen konnte, bei dem die besten Websites mit Preisgeldern belohnt wurden.
Welche Rolle spielt Rust in der Entwicklung von Bussin Web X?
-Rust wird als Programmiersprache für die Entwicklung des Browsers Bussin Napture verwendet, da es für seine Leistung und Sicherheit bekannt ist.
Warum wurde GTK für die Entwicklung des Bussin Web X-Browsers ausgewählt?
-GTK wurde ausgewählt, weil es ein populäres Toolkit für die Entwicklung von Desktopanwendungen ist, das sowohl unter Linux als auch Windows funktioniert.
Outlines
🌐 Bussin Web X - Eine alternative Web-Plattform
Bussin Web X ist eine alternative Web-Plattform, die anstelle von 'https' das 'buss' Protokoll verwendet. Sie basiert auf HTML, CSS und Lua. Es gibt einen selbst entwickelten Browser, der komplett in Rust und GTK geschrieben wurde, ohne Chromium zu verwenden. Es existiert auch ein eigener Domain Name System (DNS), ein Suchmaschine und eine Reihe von Websites zum Erkunden. Der Browser rendert Webseiten, die aus HTML, CSS und Lua bestehen, ähnlich wie Knochen, Haut und Nervensystem eines Körpers. Es wird auch erwähnt, dass die meisten Browser Chromium verwenden, um ihre eigenen Engine zu sparen, aber Bussin Web X nutzt Rust und GTK. HTML unterstützt keine IDs, stattdessen werden Klassen verwendet. CSS unterstützt keine 'display' Eigenschaften, aber 'align-items' kann verwendet werden, um Elemente zentriert anzuzeigen. Der Browser Bussin Napture rendert HTML-Dateien, die spezielle Eigenschaften und Elemente wie Text, Hyperlinks, Bilder und Formulare enthalten.
🛠 Entwicklung der Bussin Web X - Herausforderungen und Lösungen
Der zweite Absatz beschreibt die Entwicklung der Bussin Web X. Es wird die Verwendung von Lua als Skriptsprache erläutert, die anstelle von JavaScript verwendet wird, um die Komplexität zu verringern. Es wird auch die API von Lua vorgestellt, die es ermöglicht, Elemente einfacher zu erhalten und zu steuern. Es wird auf die Herausforderungen hingewiesen, die bei der Entwicklung des Browsers auftraten, insbesondere bei der Verwendung von GTK für Windows. Die Komplexität der Cross-Plattform-Entwicklung wird thematisiert, und es wird berichtet, wie verschiedene Probleme gelöst wurden, indem man GTK von Grund auf neu kompilierte oder mit VirtualBox und anderen Tools experimentierte. Schließlich wird die Entscheidung getroffen, ein selbst extrahierendes Archiv zu erstellen, um die Verteilung des Browsers zu erleichtern.
🏆 Bussin Web X Event und Entwicklung eines Suchmaschines
In diesem Absatz wird ein Wettbewerb in der Discord-Community beschrieben, bei dem die besten Websites belohnt werden. Es wird auch die Entwicklung der Bussin Dingle Suchmaschine vorgestellt, die es Benutzern ermöglicht, nach Websites zu suchen, indem sie ihre IP-Adresse und HTML-Inhalte durchsucht. Es wird auch auf die Herausforderungen hingewiesen, die bei der Entwicklung des Browsers auftraten, und wie diese durch das Hinzufügen neuer Funktionen und das Beheben von Fehlern überwunden wurden. Es wird auch die Reaktion der Community auf die Veranstaltung und die verschiedenen Websites, die erstellt wurden, diskutiert.
📘 Abschluss des Events und Rückblick
Der vierte Absatz fasst das Bussin Web X Event zusammen und zeigt die Ergebnisse. Es wird eine Bewertung der verschiedenen Websites durchgeführt, und es werden die Funktionen und Leistungen der Bussin Napture Browser hervor gehoben. Es wird auch auf die Herausforderungen bei der Cross-Plattform-Entwicklung hingewiesen, insbesondere bei der Portierung von GTK für Windows. Schließlich wird die Community für ihre Unterstützung gedankt, und es wird ein Link zur GitHub-Seite bereitgestellt, auf der Anleitungen zum Erstellen von Bussin Web X Websites und der Browser heruntergeladen werden können.
Mindmap
Keywords
💡Bussin Web X
💡HTML
💡CSS
💡Lua
💡Domain Name System (DNS)
💡Rendering Engine
💡Brilliant
💡GTK
💡Cross-Platform Entwicklung
💡Search Engine
💡Rust
Highlights
Introduction to Bussin Web X, an alternative web protocol using 'buss' instead of 'https'.
Every website on Bussin Web X is written in HTML, CSS, and Lua.
Development of a custom-built browser from scratch without Chromium.
Creation of a Domain Name System for Bussin Web X.
Explanation of how browsers communicate with IP addresses through DNS.
The decision to write a browser in Rust and GTK for desktop applications.
HTML in Bussin Web X supports a simplified and improved markup compared to standard HTML.
Use of Lua instead of JavaScript for scripting in Bussin Web X.
CSS in Bussin Web X allows for unique properties like 'align-items' for centering.
Introduction of Bussin Napture, the custom browser for Bussin Web X.
HTML in Bussin Web X does not support IDs, only classes.
The rendering engine behind Bussin Napture is codenamed B9.
Partnership with Brilliant for interactive learning in programming and other fields.
Lua's simplicity and efficiency in web development showcased through a custom API.
The challenge of cross-platform development for the Bussin Web X browser.
The process of creating a Domain Name System for Bussin Web X.
Event organized to encourage creation of interesting websites on Bussin Web X.
Development of a search engine named Dingle for Bussin Web X.
Release of Bussin Web X, Bussin Napture, and Bussin Dingle.
The reviewer's experience testing various websites built on Bussin Web X.
GTK's ease of coding and the challenges of cross-platform compatibility.
Final thoughts and thanks to supporters from the creator of Bussin Web X.
Transcripts
This is Bussin Web X, which instead of “https”, uses the “buss” protocol.
Every website is written in HTML, CSS and Lua. There’s a custom-built browser (from scratch,
no Chromium in here), Domain Name System (which means sites like these can exist),
search engine, and a bunch of websites to explore. But wait. How do you actually… reinvent the web?
Well you probably know the basics, websites are composed of 3 main parts:
HTML, CSS, and JavaScript. Think of it as the bones,
skin, and nerve system. Except the nerve system is really annoying.
Now you’re probably watching this video on YouTube which is located at https youtube.com. However,
your browser is actually communicating with an IP address behind youtube.com. This process is
part of the Domain Name System (in short, DNS) that basically holds the entire web
in place. Once the HTML, CSS and JavaScript is retrieved from that IP, the browser renders it.
Most browsers use Chromium so that they don’t have to write their own
engine - but we’re gonna approach it differently.
Instead of just using Chromium, we’re gonna write
our own browser - from scratch using Rust and GTK (which is basically a toolkit
for making desktop applications, popular on Linux - and it also supports Windows).
HTML is first. The point of Bussin Web X is to have a place where people can upload
their simple (or complex) websites for free. And since this was popularized in the mid 90s (before
Facebook took off), I went with the HTML and CSS support back then, let’s quickly go through them.
In the head we’ve got… Title, which sets the title of the tab.
Link, which imports either the CSS or an image (which will be set as
the icon of the tab). And if you know a little HTML you might have noticed this
doesn’t follow the standard - and you’re goddamn right. This is the better HTML.
Meta, supposed to be used by other applications that crawl the Web X. You just need the
description so that the search engine (which we’re gonna make later on) knows how to display it.
Script, just like I said before, we don’t care about the standard.
In fact we’re using Lua instead of JavaScript SIMPLY because we can.
The script tag is a little different since you can’t really have Lua inside
of HTML files with good support from code editors,
so you have to close the tag and import it from another file. We’ll go through Lua in a bit.
Now for the body, Text, we’ve got headers,
paragraphs and hyperlinks. If a hyperlink starts with “buss” instead of “https”,
the browser will go to that website instead of opening your default browser.
Divs, basically wraps a bunch of tags in a box.
Lists, either unordered or ordered and can have list items in them.
HR, I have no idea what this stands for but it makes a dramatic horizontal line.
Images! GTK is a bit weird and doesn’t allow you to scale images so you have
to manually size them in an image editing tool.
Inputs! They are one-line text fields that can be accessed through Lua
Textarea! Multi-line text fields.
And then we got buttons and dropdowns.
If you combine all of that in an HTML file and give it to Bussin Napture, here’s how
it looks! Oh and it’s called Napture because Netscape, Net-Escape, Net-Capture, Napture.
The HTML doesn’t support IDs. Why would you need an ID when
you already have classes? And since IDs are not supported there’s no reason to
have the “dot” in front of each CSS declaration that applies to a class.
With CSS, on each property you can modify…
The borders, which can change their color, width, style, and radius.
The padding, which means “space around the inside of the tag”.
The margins, which means “space around the outside of the tag”.
And the interesting part - there’s no display property. You can center tags by simply modifying
the “align-items” property to “center”. Sorry to break the “can’t center a div” memes.
Now for divs, we get to change the direction (which can be “row” or
“column”) and the gap between each tag inside it.
For text tags we have the usual: color, font size, font height, font family,
font weight, but here’s where we deviate a bit from the standard.
You can make text tags have an underline like this,
an overline like this, and a strikethrough line like this.
And last, the width and height (which only apply to inputs and text areas).
Together with the HTML here’s how the rendering engine behind Bussin
Napture looks. The engine is codenamed B9 by the way,
because my dumbass thought V8 was the name for the rendering engine in Chromium,
but nope, that’s the JavaScript engine. The rendering engine of Chromium is called Blink.
Now, if all this talk about rendering engines and coding makes you feel a bit lost,
don't worry - I've been there too. That's exactly why I want to tell you about Brilliant.
Brilliant is where you learn by doing, with thousands of lessons in programming, math,
AI and data analysis. Brilliant provides an interactive and engaging platform that makes
learning fun and effective. If you aren’t sure how to start there’s the Thinking in Code course,
where you can forget about syntax errors or setting up development environments and
just learn. This course gets you started with coding without all the hustle of installing
4 different Python versions. Plus you can apply these skills to your everyday life,
like automatic boring tasks or creating extensions for your everyday software.
To try everything Brilliant has to offer for free for a full 30 days,
visit brilliant.org/FaceDev or click on the link in the description. You’ll
also get 20% off an annual premium subscription. Now let’s get back to...
Lua! The cure for the web, the language used in MANY projects such as Roblox,
Bussin GriddyCode (I made that)
Neovim
After 10 minutes outside I came up with this Lua API - or whatever you call it.
Instead of typing over 20 characters just to get an element,
you just type get. Yeah, just get. And then the tag class.
If you want to get all the matching tags you just pass “true” as the second argument.
You set and get the content like this, the link of a hyperlink like this,
and the opacity like this. Now into events, you just do on event. For example you can do on click,
on input and on submit. You can send HTTP requests through the fetch function,
which means you can have your site communicate with your API.
The biggest bummer is that it runs on the same thread as the UI,
meaning that if Lua takes a long time to run something the entire app will have to wait.
Because of this we can’t really have sleep functions since they’d kill the entire app.
Now that the engine behind the browser is mostly complete I moved onto the DNS.
The Domain Name System. Basically a database with documents with a domain,
tld, and IP. The domain is whatever the user wants to put, for example “youtube”.
The TLD (which stands for Top-Level Domain), must be either: mf, btw,
fr, yap, dev, scam, zip, root, web, rizz, habibi, sigma, now, it, soy, lol, and the
one I won’t pronounce. Each one was suggested by members of my Discord server. But hold on,
what about the IP field? Well if you hate yourself you can host the HTML file on your own machine,
OR use a GitHub repository that has an index.html in plain sight.
I quickly made an API that lets you register, update, delete,
and view domains. Registering your site is COMPLETELY free,
and Patreon and YouTube supporters can suggest a new top-level domain to be added.
Anyway everything seemed to be done so I decided to create an event in my
Discord server where the top 3 most interesting websites win some money. I started the event and…
[stacked voices]
Yeah I think it’s safe to say it doesn’t really work.
Apparently I already had GTK installed
on my system and others didn’t. The Linux issue was solved within a day,
thanks to Smartcoder for bringing the app on Arch Linux and Quincetart for getting it on flatpak.
The Windows version however… mmmm
Boot into Windows, search on Google how to compile GTK app to Windows, find the GTK Rust book,
it tells me to build GTK from scratch and do a bunch of Windows shenanigans,
try to compile my program, PC files missing, no actually files with the “pc” extension,
first time seeing those- install Microsoft Visual Studio c++ 20… 20 whatever,
install meson and ninja (I don’t know what I am doing), run a bunch of commands...
Okay maybe building GTK from scratch wasn’t a good idea.
Second solution. Download msys32, open msys32 mingw64, update with pacman, get gtk4,
get toolchain, get base-devel, try to build the browser again- pc files missing. Where in the f-
Copy every possible library to my folder- hello sir your computer is running out of space.
Install VirtualBox, create a new Windows 10 machine, install msys32,
open msys32 mingw64, install the packages, build the browser… linker failing? How the
hell does a linker fail- oh great the 6th Google result solved my problem.
Send the executable to a friend to test, it doesn’t work, DLLs missing,
boot again into the machine, try sending each DLL one by one, after 4 DLLs it starts
working. Get the zip, create another virtual machine to test, unzip, run...
IT STILL WANTS DLLs.
Boot into the first VM, copy every f***ing DLL, send them to the second virtual machine, it works!
But now we have 120 files to upload to GitHub. Install the sketchiest application I’ve ever seen
that claims to bundle DLLs into an executable, run it, it takes like 30 minutes to finish,
blocks the UI thread, fans spin at full speed like I’m about to start a jet,
Uh...
It finishes, I run the file...
This crap capitalised every DLL name for no reason and my program can no longer find them.
It’s been 3 days since the event was paused, my anger can not be expressed in words.
This is PEAK. WINDOWS. DEVELOPMENT. EXPERIENCE.
Download WinRAR, make a self-extracting archive, ship the executable, the event resumes with 5 days
remaining, everyone’s happy, wait there’s no way to search for websites on Web X.
Oh my..
Making a search engine.
Ok. So today we're gonna be making a search engine. We have a bunch of websites...
So, since there's no way to search for websites, right,
you have to memorise the keywords. And we need a search engine that can go through
everything here, fetch their IP, which can either be GitHub or an actual IP,
and we need to get the contents from the HTML file, and,
basically store them for when the user wants to search stuff.
So, we have a search engine named Dingle.
[noises]
Hello! It's me from the future!
[crowd talking]
[crowed cheering]
Good morning.
Welcome to Bussin Park.
We are so excited you could join us today for some big announcements.
With the release of our upcoming two products: Bussin Web X and Bussin Napture, we are eager to
announce the release of our search engine - Bussin Dingle, which will be available at buss dingle.it
Now before we conclude, I'd like to open the floor for any questions you might have. So,
does anyone in our esteemed audience have any questions they'd like to ask?
- Let's hear from AdrianoTech please. - Yeah, thank you. May i ask why is
there a toilet talking, on the right?
[noises]
And we're getting a bunch of 404s, okay so now we have to parse the HTML.
Uh...
Thanks for joining us! Have a great day.
If you're wondering here's how the finished search engine looks like.
The browser was still broken so I ended up doing 2 releases 1 day apart,
I'm gonna rapid-fire through some new features.
Added the... logs when you press CONTROL SHIFT P,
an About popup when you click the tab title, and finally support for links and script tags.
Alright. The event has finishde so it's time to see the results.
Ok. We're gonna go to...
Review time! With... the unreal tarik.
And starting with... skibidi.rizz.
It's taking time.
"This is a test". Wow...
Kill this man!
Bank.sigma
Oh this one actually has something.
Oh, welcome to the bank...
Make an account and tell me the username.
Oh I don't have any money, let me... "print" some.
A hundred. Print. That doesn't work, what?
Wait what's your name?
Gay...
Okay...
Yeah I sent, I sent it.
Uh, balance, loading, oh yeah it's loading. I bet we have a lot of money there, let's go!
Loading, loading, loading, loading, loading, loading.
Still loading?
It's still loading.
Oh, I have to log in.
Hell yeah.
Balance, 200. Sender, face.
Receiver, gay. Amount, 200, timestamp... okay, that's cool!
Okay that one is good.
That one is good, yeah.
At least it's working, he's doing something.
Just doom.dev
Hello, I'm just Doom, I like cheese, playstation 2s, I have 12 of them.
12 cheese pieces or 12 playstations?
I think both...
Overall I have 23 playstations, 4DS... what is DS again? I forgor.
Nintendo DS, I think.
Yeah. Hopefully this works.
F*ck common JS . for real
F*ck common JS. No I'm serious, actually f*ck common JS, f*ck everyone who uses
common JS on purpose. F*ck everyone who contributed to common JS, everyone who
found commonjs. F*ck everyone who still supports common JS.
I have the same feelings too.
Why? I love common JS
I hate JavaScript.
But in this bullshit called "common" JS, [voices stacked]
Okay.
Valid criticism, anything towards JavaScript is valid criticism, I don't care what it is...
Yeah, I shouldn't have bothered to read all this, I should've just said I agree.
I agree.
Web.dev
Not done.
Guys! We're talking about big money, yo!
Chat.it
Damn it takes a long time to load, oh my
Oh, okay?
Oh, account created, let's go
- I'm logged in, I think - Yeah, me too, what's your username?
Ok ok
I'm gonna send a message.
Oh yeah it's working, ok ok hello world.
Okay we'll send something... right now and I just hope it works.
I broke the entire thing. Bruh, it crashed.
Napture.web
Oh, reasons to use Bussin Napture. It is fast.
No bloatware, I mean who needs features right?
Doesn't track you.
I mean, if I made a browser and the chinese like, offered me like,
big chunk of money, I will fucking track everything you do. I don't give a f...
I mean cool website to be honest.
It's, it looks genuine. It feels genuine.
Chat.yap
Okay, log in register. Send private message,
public message. Register successful, log in successful, okay
It is by the same developer, you can tell by the chats. They have the same format.
We have some chats going on, okay.
Oil oil oil oil.
Uh, I sent a public message.
Oh, oil.
Yeah this one seems interesting. You can actually use this.
Okay, it is interactive, it is. I see the messages you sent. Face, aaa
Ranking!
I think personally I would rank the chat.yap first, and then we got chat.it.
We're kinda on the same boat, I mean I'm not sure,
if I would put f*ck common JS, or napture.web on the third.
The reason is...
The first one is funny, but the other one also seems like genuine. I just felt the humble.
But, I'm not sure, let me do a spin wheel.
Because for me like, both are the in same ranking.
Well, f*ck common JS I guess.
GTK.
Easy to code with, beautiful outcome, hard to cross platform. I hate Rust closures,
my code is full of Rc, RefCell and Clone.
There's a guide on how to make a buss website in the GitHub link below,
also where you can download the browser.
A quick note that the guide on the GTK Rust book actually works,
I just didn't bother to read it till the end and wasted 3 days.
If you want to contribute and you’re using Windows, I’m sorry for your Hard Drive or SSD.
Big thanks to all of the Patreons and YouTube members for supporting the channel.
Thanks for watching, and as always, see you in the next one!
Linux deserved to be hacked cause the won’t let us play games at all
浏览更多相关视频
Building a Speech Transcription App Using Flask and OpenAI
Optimierung Ihres SAP-Systems mit SOA People: Ein Interview mit Steffen Weingärtner
Set up LiteSpeed Web Server on Plesk
Next Icon SBC Leaked + Brazil SBC Coming?
In 2 Tagen ändert sich alles! Hauptvideo 1 von 5 kommt!
Is The Electoral College Killing the Democratic Process?
5.0 / 5 (0 votes)