So I would like to start creating my own web browser for personal use. The question is where do I start?
please don't. this is a very bad idea. this is a perfect example of how reinventing the wheel is such a bad idea its more than I can condense into a single post. there are man brewers out there already. they are updated all the time with dozens and dozens of security fixes. and if you miss one of those you just got hacked. please leave this up to the professional guys who make our browsers all day everyday. you can find a browser with many customizable extensions that hopefully fits what you are looking for.
why do you think you need to write one your self?
So firstly, @post2, this is the most insulting post I've seen regarding development on here. OP specifically said they were making it for personal use. Perhaps its a side project, perhaps its a project of interest. There is absolutely no need to be insulting.
OP. I made my own browser a couple of years ago. I used native web control elements that are provided in most GUI programming librarys. You might also try ghecco, the mozilla engine. I know there are others. Choose a solid language such as CSharp or python and go from there.
bah, i don't think that post is insulting. he only told what he thinks
i was not trying to be insulting.
Nevertheless, you were. I happen to agree with what you said, just try to put it in a slightly nicer way. I almost gave up on programming because of comments such as this.
But such comments can be very important. It's very true what he said in my opinion and not a bit insulting.
But Kyle12 is right, even if it was true, it came across as a put-down which a beginning programmer wouldn't want.
I hate negative feedback as much as the next noob when I'm learning, but it really would be a logistics nightmare to make sure your custom browser was getting updates: This isn't 2003, sadly... I think that's the logic behind that post. It's like making your own OS by yourself. Fuck everyone's logic though: If you want to make a custom UI for yourself fucking go for it. Programming is supposed to be fun.
[wow], there was a whole other paragraph under that first line on my last post. why didn't that get posted. I hoenstly don't really remember what i said, but i'll try and say it again.
i know i said the original post was very vague as to what personal use meant. a project is nice, but if you want to use it as your main browser, i would highly advise against that. like others said, keeping it up to date with security patches would be a nightmare beyond all imagining. the operating system is a great comparison. no sane person would dream of doing that from scratch. yeah you'd get a bunch of linux things and slap them together, but still you'd have to still do a lot by hand. same with a browser even if you used a lot of tools and api's
Well that's generally the reason why a lot of lesser known browsers seamonkey for example are based off of Ghecco, in deed the more well known Tore browser is, to put it simply, a heavily drugged firefox.
I agree with what's already been posted here. I don't mean this to sound insulting, but if you are a beginning programmer, a web browser probably isn't something you should jump in with. Not saying you are (or sound like) a beginner, but there it is.
Also (as has previously been stated), a browser isn't something you want serious (or even minor) security flaws in. This of course depends on how serious you are about creating one, and what you intend to use it for.
If it's a learning experience (what does the browser really do behind the scenes, does it support extensions, etc), then that's great - build it, get to the point where you really appreciate what your browser does for you and how it's put together, and probably stop when you realize how much work it will be to maintain yours.
If you are serious about coding one, I would encourage looking at the existing options first.
Make a list of things you don't like about the browsers you've used, and search for solutions for each item on that list. It can be anything from installing an extension and setting it up, changing a setting in your screenreader (if you use one), to changing an advanced option that you didn't even know existed.
Also make sure you've explored more than just two or three options. There are more than a few browsers out there, and one that you like might be just a few searches away.
If you still want to create one, consider using an existing engine. There are open source engines that you can fork and tinker with until they work just how you want.
Hope that helps.
@post3: really dude, get your drawers out of a knot, because the advice he offered was well intentioned and really made a pretty clear point.
@op: If you are doing this to learn, then by all means continue to do so. I'd be trying to do something with v8 and Python if I were to go that route. If you're planning on using this, please consider whether or not this is worth it. There literally are many browsers done better and you won't get anywhere.
I've built an OS that does all kinds of cool things as a learning project. I don't plan for it to ever replace Windows and I don't plan on working on it anymore. It was a learning project and that is simply it. A learning project has a fine line between "am I still learning" and "is this useful," and I really can't come up with any ideas on what you would learn by building a web browser, unless you're just trying to grind your masochism skill, in which case rock on.