by Sam » 27 Apr 2018, 09:58
fergus1234 wrote:I want to make a pc internet browser that gives users the option to make incognito tabs. I also want a program that can surpass data capping for mobile users.

There are a few areas to explore if you are wanting to build a browser:
1. DNS/ Server IP lookup. A lot of url libraries in languages will do this for you.
2. Rendering HTML, Rendering CSS to a GUI.
3. Running JavaScript and rendering the results.
A proper well functioning web browser would need to be built in C++, C or some other compiled and fast language (Ruse, Nim, D etc.). However, I would suggest you start by creating an application that fetches the HTML of a page that the user types in and renders it back to the screen and build up from there (what happens when you click links, how do you render the css, how would you have tabs etc. - hint: Internet browsers are multi-processor applications. Each tab in Chrome is a process.). You could use Java or Python for this, which would work quite well.

Surpassing data caps is a little more difficult. Probably, the best way to achieve this is tunnel clients traffic through a VPN/ Proxy. On the VPN/Proxy server, you could compress and minify the content to use less data. You could also make a browser application which has some more advanced/ stronger caching capabilities. Java would be a good language to learn for both the server side and the app; although you would need to understand a little about networking and web content as well (HTML/CSS/JS).