个人觉得 如果 非的用.net 比如C#来做的话 现在的 机器 普及配置来说
做壳还行..
做内核 估计 性能上会吃亏.

解决方案 »

  1.   

    java自己带了个你可以考虑考虑
      

  2.   

    IE不是内核, IE仍然只是一个shell, 它所使用的内核叫Trident, 也是Maxthon等浏览器使用的内核.FireFox也不是内核, 它所使用的内核叫Gecko, 这也是Mozilla所使用的内核. 很多啥都不懂的菜鸟以为FireFox是自己开发的内核, 其实也只是一个shell而已.Trident不是开源的, 但是Gecko和Safari所用的WebKit内核都是开源的,你可以直接去网上下载.要开发一个浏览器内核, 目前你需要考虑下面几点.1. 网络连接, 按照HTTP协议的格式与服务器进行连接.
    2. 页面渲染, 按照W3C的标准, 解析CSS/HTML, 呈现相应的文字, 图片, 制表格式等.
    3. JavaScript解释引擎, 按照ECMAScript的标准, 对JavaScript进行解释执行.
    4. 而外插件支持, 比如Trident支持ActiveX等等.
      

  3.   


    说得非常好啊,受益,多谢了。个人感觉C#确实不太适合做浏览器,原因并非是执行效率的问题,而是因为运行环境部署的困难。PS:C#执行效率绝对不比其它语言低。
      

  4.   

    做成dll然后介面用C#做.在C#调用dll
      

  5.   

    真的很难.特别是对于JavaScript和VBScript的翻译.期待更多高手关注此贴 .
      

  6.   

    .NET只适合做外壳,内壳.NET不适合!就这样!
      

  7.   

    哥们儿,你抛出了一个大问题。浏览器的开发不是一个人单干的,如果纯属兴趣,可以看一下现有的元码,
    可以借鉴一下别人的设计方案。firefox就是一个极其优秀浏览器。如果你不是微软员工的话,你可以加
    入他们的开发组。我估计你在那里应该能遇到高手。我以前加入过一个linux device driver的开源组,
    里面的成员还是很热情的,一般能够得到满意的答复。
      

  8.   


    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void button6_Click(object sender, System.EventArgs e)
    {//浏览
    if(this.textBox1.Text.Length<1)
    return;
    try
    {
    string StrUrl=this.textBox1.Text;
    System.Object MyObject="";
    this.axWebBrowser1.Navigate(StrUrl,ref MyObject,ref MyObject,ref MyObject,ref MyObject);
    }
    catch(Exception Err)
    {
    MessageBox.Show(Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    } private void button1_Click(object sender, System.EventArgs e)
    {//后退
    try
    {
    this.axWebBrowser1.GoBack();
    }
    catch{}
    } private void button2_Click(object sender, System.EventArgs e)
    {//前进
    try
    {
    this.axWebBrowser1.GoForward();
    }
    catch{}
    }
    private void button3_Click(object sender, System.EventArgs e)
    {//停止
      this.axWebBrowser1.Stop();
    } private void button4_Click(object sender, System.EventArgs e)
    {//刷新
      this.axWebBrowser1.Refresh();
    } private void button5_Click(object sender, System.EventArgs e)
    {//主页
      this.axWebBrowser1.GoHome();
    }
    给你部分浏览器的代码希望对你有帮助
      

  9.   

    楼主要的是建立一个完整的浏览器,包括html解析,通讯等模块。所以不能用WebBrowser这个控件。
      

  10.   

    It's a not easy feat ~~
      

  11.   

    最基本的条件之一 .. .net为托管程序,很难推广开来,所以,注定没人会去做这种吃力不讨好的事情。
      

  12.   

    C#应该可以做出来的,但是要花费大量的时间和精力吧,你如果说套IE壳应该很简单的
    这东西有现成的成熟的作品,为什么要自己重新做?软件很大一部分都是为了可重用,没有必要自己开发