Release GContext Node.js Module!

How to write a native desktop application in Node.js? Perhaps you know many modules can do that easily, something's like node-gui and jsdx-toolkit. In order to develop system program, DBus module is the most important thing you must have as well. With Dbus module, you can handle all communications between programs. Furthermore, you can control low-level functions system provided via DBus, which includes hardware, networking and operation system features. Unfortunately, all things do not work at all since new version of Node.js.

Many system libraries are based on GLib, and work with GLib event loop. For writing a node.js binding with such libraries, libev is the only way to integrate event loop between node.js event loop and GLib main context. The problem is that libev is deprecated since 0.8 node.js cause modules which depends on libev will be broken on latest and higher version. Nothing works if there is no libev.

In fact, upstream announced that libuv is being only one way to handle all low-level operations(I/O, threads, timer and poll). However, there is no people to re-work integration of GLib event loop with new libuv APIs, even six months have passed already. This problem must be solved if we want to write system program and native application in Node.js.

Besides, modules which works with GLib event loop have own implementation for event loop integration in the past, conflict occurs properly between each module. Your program always crashes or hangs when normal process of event loop is interrupted by another module.

For theses reasons, I wrote a Node.js module "GContext" to do GLib main context integration, used libuv APIs to support latest version of Node.js. It's an individual module, so it's possible to be used directly by other modules. As long as it uses GContext module, it can run a GLib event loop on Node.js and share this loop with other modules. There is no need to re-implement this mechanism by themselves anymore.

You can install it from NPM directly:
npm install gcontext

Initiate main context and run a GLib loop on Node.js event engine:
var GContext = require('gcontext');
GContext.init();

留言

  1. hi~
    qt and nodejs,how to do that???

    回覆刪除
    回覆
    1. you can found node-qt, it's a node.js binding for Qt.

      刪除
  2. Enjoyed reading the article above, really explains everything in detail, the article is very interesting and effective. Thank you and good luck for the upcoming articles Nodejs training

    回覆刪除
  3. One of our visitors recently recommended the following website. 토토사이트

    回覆刪除
  4. Very informative blog article. Thanks Again. Keep writing.
    경마
    온라인경마

    回覆刪除
  5. Some truly superb blog posts on this website , thanks for contribution. 바카라

    回覆刪除
  6. Your style is very unique in comparison to other folks I ave read stuff from. Many thanks for posting when you have the opportunity, Guess I all just book mark this page. 토토사이트

    回覆刪除
  7. Its like you read my mind 야동 ! You appear to know so much about this, like you wrote the book in it or something. I think that you can do with some pics to drive the message home a bit, but instead of that, this is magnificent blog. An excellent read. I’ll definitely be back.

    回覆刪除
  8. I am also commenting to make you understand what a notable experience my friend’s child gained studying your webblog. She realized so many things, with the inclusion of what it is like to have a marvelous giving character to make men and women completely fully grasp some tricky subject matter. You undoubtedly surpassed readers’ expected results. Thank you for offering those great, healthy, educational as well as fun thoughts on your topic to Emily.

    립카페

    回覆刪除
  9. Hello There. I found your blog using msn. This is a really well written article. I will be sure to bookmark it and come back to read more of your useful info. Thanks for the post. I’ll definitely return.

    마사지블루

    回覆刪除
  10. Enjoyed reading the article above , really explains everything in detail,the article is very interesting and effective.Thank you and good luck for the upcoming articles.

    건마탑

    回覆刪除
  11. Great web site. A lot of useful information here. I’m sending it to several friends ans also sharing in delicious. And obviously, thanks in your effort! 야설
    Feel free to visit my blog :
    야설

    回覆刪除
  12. Very good information. Lucky me I recently found your website by accident I have book marked it for later!
    일본야동
    Feel free to visit my blog : 일본야동

    回覆刪除
  13. This blog is very informative the stuff you provide I really enjoyed reading 국산야동
    Feel free to visit my blog : 국산야동

    回覆刪除
  14. I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. 일본야동
    Feel free to visit my blog : e 일본야동

    回覆刪除
  15. I have read your blog it is very helpful for me. I want to say thanks to you. I have bookmark your site for future updates.
    야설
    Feel free to visit my blog : 야설

    回覆刪除
  16. Nice information. I’ve bookmarked your site, and I’m adding your RSS feeds to my Google account to get updates instantly. 파워볼

    回覆刪除
  17. Daebak! that’s what I was looking for, what a information! present here at this website 온라인경마

    回覆刪除
  18. Great work ! This is the type of information that are supposed to be shared across the internet. 슬롯머신

    回覆刪除
  19. I wonder why the other experts of this sector don’t notice this. You must continue your writing. I’m sure, you’ve a huge readers’ base already! want to learn more? click the link here: 토토사이트

    回覆刪除
  20. I really enjoy your web’s topic. Very creative and friendly for users. Definitely bookmark this and follow it everyday.바카라사이트

    回覆刪除
  21. All your hard work is much appreciated. This content data gives truly quality and unique information. I’m definitely going to look into it. Really very beneficial tips are provided here and, Thank you so much. Keep up the good works.카지노사이트

    回覆刪除
  22. Thanks for sharing this marvelous post. I m very pleased to read this article.
    토토

    回覆刪除
  23. This is really helpful post and very informative there is no doubt about it.
    바카라사이트

    回覆刪除
  24. I like what you guys are up too. Such smart work and reporting! 온라인카지노

    回覆刪除
  25. This is one very interesting post. I like the way you write and I will bookmark your blog to my favorites. 바카라사이트

    回覆刪除
  26. Super, ᴡhat a web site it is! Thiiѕ web site gives helpfcul facts to us, keep it up. 카지노사이트

    回覆刪除
  27. Amazing article. Your blog helped me to improve myself in many ways thanks for sharing this kind of wonderful informative blogs in live. I have bookmarked more article from this website. Such a nice blog you are providing. Feel free to visit my website; 온라인카지노

    回覆刪除
  28. Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your web site is magnificent, let alone the content Feel free to visit my website; 온라인카지노

    回覆刪除
  29. Efficiently written information. It will be profitable to anybody who utilizes it, counting me. Keep up the good work. For certain I will review out more posts day in and day out. Feel free to visit my website; 바카라사이트

    回覆刪除
  30. Really i am impressed from this post....the person who create this post it was a great human. Feel free to visit my website; 온라인카지노

    回覆刪除

張貼留言

這個網誌中的熱門文章

Web 技術中的 Session 是什麼?

Reverse SSH Tunnel 反向打洞實錄

有趣的邏輯問題:是誰在說謊

淺談 USB 通訊架構之定義(二)