Browser-dev?

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
User avatar
Artlav
Member
Member
Posts: 178
Joined: Fri Aug 21, 2009 5:54 am
Location: Moscow, Russia
Contact:

Browser-dev?

Post by Artlav »

Having made my own IP stack, i wondered where to next.

And it occurred to me that making a whole web browser sounds like a task akin to making an OS.
It's a program that works with semi-standard data, have it's own flow control, got it's own task control and multitasking (tabs/js threads), got it's own drivers (network, proxy, FTP, TLS/SSL, sound and video codecs and so on), got a whole GUI with a lot of stuff in it (CSS, fonts and what not), got compilers for it (asm.js), and so on.

It's a large, complex thing that encompasses most of the features of an OS, and can even act as one for many not-too-complex use cases.

So, have anyone actually tried to make their own browser?
Is there some sort of a browser-dev community around?
Is it a task that is achievable on amateur level from scratch (in pre-JS days i didn't even think of it as being hard, these days it looks hellishly hard...)?

I've already got most of the backbone pieces - IP stack, TLS, HTTP, HTML parser, image format readers, UTF parser and renderer and so on.
I need to make an HTML renderer (with CSS) to get a basic thing, and a JS engine to operate the HTML to get anything non-trivial going.
User avatar
Coconut9
Member
Member
Posts: 51
Joined: Sat May 20, 2017 1:25 am
Location: PCI bus: 3, slot: 9, function: 5

Re: Browser-dev?

Post by Coconut9 »

Just count the number of html tags and you will find that the browser will be the last application you will make! :wink:
How people react when a new update of your OS is coming:
Linux user: Cool, more free stuff!
Mac user: Ooh I have to pay!
Windows user: Ah not again!
Notturno
Posts: 6
Joined: Tue Jul 25, 2017 11:25 am

Re: Browser-dev?

Post by Notturno »

Unfortunately there is no place like osdev.org for browser development. However there is Mozillazine: http://forums.mozillazine.org
They have a development section:
http://forums.mozillazine.org/viewforum.php?f=54

They will probably help you if you're developing a Gecko based browser. If you're writing a browser from scratch then you are on your own.
User avatar
MajickTek
Member
Member
Posts: 101
Joined: Sat Dec 17, 2016 6:58 am
Libera.chat IRC: MajickTek
Location: The Internet
Contact:

Re: Browser-dev?

Post by MajickTek »

I made a browser in VB 2015 but it used Microsoft's webview thing to display [mobile] web pages and used a listbox to store "bookmarks", which were just copied URLs.

Not what you want, i think. To simple :D
Last edited by MajickTek on Thu Oct 12, 2017 5:29 am, edited 1 time in total.
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs

Code: Select all

while ( ! ( succeed = try() ) ); 
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Browser-dev?

Post by onlyonemac »

Probably worth mentioning that a browser doesn't usually implement its own networking, SSL/TLS, or codecs as these are installed separately or are part of the operating system. Networking is part of the operating system (as either part of your kernel or a driver/kernel module depending on the design of your operating system) and codecs may be part of the operating system or may be installed separately as plugins for a particular multimedia API and multimedia applications (web browsers, video players, etc.) can use whatever codecs are installed and compatible with the application but the codecs themselves aren't part of the applications that use them.

The same goes for multithreading/multitasking - this isn't part of the browser itself and usually the browser will use the operating system's own multithreading API.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Post Reply