Nodejs相关:node-webkit 项目招收实习生

Nodejs相关:node-webkit 项目招收实习生

详情请见 https://groups.google.com/d/msg/node-webkit/CQS83CdrmUc/y-uHAkSVMx4J

长期有效

22 回复

Nodejs相关:node-webkit 项目招收实习生

我们非常高兴地宣布,node-webkit(现更名为NW.js)项目正在寻找有才华的实习生加入我们的团队!这将是一个难得的机会,让你能够参与到一个功能强大且广泛使用的开源项目中来。无论你是刚刚接触Node.js的新手,还是有一定经验的开发者,只要你对前端技术充满热情,并愿意学习和贡献,我们都欢迎你的加入。

实习岗位描述:

  • 职位名称:Node.js 开发实习生
  • 工作地点:远程
  • 实习期限:至少3个月
  • 主要职责
    • 参与NW.js核心功能的开发与维护。
    • 协助改进NW.js的文档和测试用例。
    • 探索并实现新的特性,以提升用户体验。
    • 与其他开发者合作,解决项目中的问题。

技能要求:

  • 熟悉JavaScript及Node.js的基本语法和使用。
  • 了解HTML、CSS等前端基础知识。
  • 良好的英文读写能力。
  • 具备良好的沟通能力和团队合作精神。

如何申请:

请访问以下链接了解详细信息,并按照指示提交申请:详情链接

示例代码:

为了帮助你更好地理解如何为NW.js项目贡献代码,这里提供了一个简单的示例。假设我们要创建一个新的API函数,该函数能够在打开一个新窗口时自动调整其大小。

// 假设这是你的nw.js插件代码
const { gui } = require('nw.gui');

function openWindow(url, width, height) {
    var win = new gui.Window.open(
        url,
        {
            width: width,
            height: height
        }
    );

    // 在窗口加载完成后调整其大小
    win.on('loaded', function () {
        this.resizeTo(width, height);
    });
}

// 使用示例
openWindow('https://www.example.com', 800, 600);

在这个例子中,我们定义了一个openWindow函数,它接受URL、宽度和高度作为参数。当用户调用此函数时,会创建一个新的窗口,并在窗口加载完成后自动调整其大小到指定的宽度和高度。


我们期待着有志之士的加入,一起为NW.js项目做出贡献!


希望上述内容对你有所帮助!如果你有任何疑问或需要进一步的信息,请随时联系我们。


node-webkit 现在能打包成一个exe运行了么? 大概体积多大?

我们还没提供编译好的二进制文件。不过你说的是可以的。体积我估计在几十MB

牛人

很好很强大…

有原生 x64 了吗? 我的 node.exe 是 x64 的。

linux有64bit的,其他的在64bit下也可以跑。

另外node-webkit包含一个node.js, 不需要另外的node.exe

我用过了,最后打包后的文件 要60多MB。不知道可否压的再小些?如果能到30MB左右最好了。。强烈关注你的这个项目,我尝试写了些东西感觉很棒。。

强烈要求加入,我很需要这个项目! Mail:kvxv#sina.com

Node-Webkit 很棒!正是我需要的。感觉一个新的时代就要到来了…… 加油!

这个项目是国人主持的么?

看好这个项目。安装不是很简单。

node-webkit 名字有点误导。 npm install node-webkit //not found

最初这个项目设计成可以通过 npm 安装,后来我们改变了架构。

up, 长期有效

怎样加入?初学者可以吗?

强烈建议项目改名!看名字完全不明白。 DesktopJs?随便了…只要不是这个

用inno setup打包后 安装文件不到20M了

solid C/C++ background 说不上

some Javascript knowledge
Linux development environment
这两个都还行

很感兴趣这个项目,想要加入

地点要是北京就好了。

北京也可以

Nodejs相关:node-webkit 项目招收实习生

我们正在寻找对Node.js和Web技术充满热情的实习生加入我们的node-webkit项目团队。node-webkit(现称为Electron)是一个用于构建跨平台桌面应用程序的强大框架。

实习内容:

  1. 参与项目开发:帮助改进现有功能、修复bug,并与社区保持良好互动。
  2. 文档编写:撰写和更新项目文档,帮助其他开发者更好地使用该框架。
  3. 学习与成长:通过实际项目经验,提升你的Node.js和前端开发技能。

我们希望你具备:

  • 熟悉JavaScript及其生态系统。
  • 对Node.js有一定的了解。
  • 有Web应用开发经验者优先。
  • 良好的沟通能力和团队合作精神。

示例任务:

假设我们需要实现一个功能,允许用户通过拖放文件到界面上来加载文件。我们可以使用node-webkit的API来完成这个任务。

示例代码:
const fs = require('fs');
const path = require('path');

// 创建一个简单的HTML界面,允许用户拖放文件
const htmlContent = `
  <!DOCTYPE html>
  <html>
    <head>
      <style>
        #drop-area {
          width: 50vw;
          height: 50vh;
          border: 2px dashed #ccc;
          margin: 100px auto;
          text-align: center;
          padding-top: 50px;
          background-color: #f0f0f0;
        }
      </style>
    </head>
    <body>
      <div id="drop-area">
        Drop your files here
        <input type="file" id="fileElem" multiple style="display:none" />
      </div>
      <script>
        const dropArea = document.getElementById("drop-area");

        ["dragenter", "dragover", "dragleave", "drop"].forEach(eventName => {
          dropArea.addEventListener(eventName, preventDefaults, false);
        });

        function preventDefaults (e) {
          e.preventDefault();
          e.stopPropagation();
        }

        function handleDrop(e) {
          let dt = e.dataTransfer;
          let files = dt.files;

          handleFiles(files);
        }

        dropArea.addEventListener("drop", handleDrop, false);

        function handleFiles(files) {
          Array.from(files).forEach(file => {
            let reader = new FileReader();
            reader.readAsText(file, "UTF-8");
            reader.onload = function (evt) {
              console.log(`Loaded file ${file.name}:`);
              console.log(evt.target.result);
            };
            reader.onerror = function (evt) {
              console.error(`Failed to read file ${file.name}`);
            };
          });
        }
      </script>
    </body>
  </html>
`;

// 将HTML写入文件
fs.writeFileSync(path.join(__dirname, 'index.html'), htmlContent);

上述代码创建了一个简单的HTML界面,允许用户通过拖放文件到界面上来加载文件。同时,它也演示了如何使用FileReader读取文件内容,并将其打印到控制台。

如何申请:

请发送您的简历至 [your-email@example.com],并在邮件中附上您最近的项目或作品链接。我们期待着您的加入!


这个示例任务展示了如何使用node-webkit处理文件拖放事件以及读取文件内容。希望这些信息能帮助你理解项目的实际工作内容。如果你有任何问题,欢迎随时联系我们!

回到顶部