Live data from Hacker News

Chrome DevTools outside of the browser

kenneth.io

11–20 of 30 posts

Re: Chrome DevTools outside of the browser

#12
post #10

> Chrome DevTools is close to a functional editor. Yes, we need this badly! Can't wait to see what we can do with the devtools and make something similar to Brackets!

I'll want to see how they can expand this to debug other browsers especially mobile IE, oh god!

Re: Chrome DevTools outside of the browser

#13
Great post!

I'm also really curious about the future of Dev Tools and hope to see it applied to other uses. I think there is a range of tools we could be building on top of or around Chromium/DevTools/etc to provide real-time workflows for animations, visual programming, shader authoring, WebAudio editing, and plenty more.

I wrote about it a bit here: http://mattdesl.svbtle.com/motion-graphics

You might also want to check out Thrust and atom-shell as alternatives to node-webkit.

Re: Chrome DevTools outside of the browser

#15
post #9
post #7

How scalable is Node these days, considering that javascript has no real multi-threading support, and most of the things you do for a user in Node are thus blocking other users? I know it is possible to run things in different processes, but it seems to me that this is kind of a hassle (like a workaround).

Most of the things you do for a user are not blocking, that's the whole point of node. Instead of blocking, almost everything is done with asynchronous callbacks.

And while you are servicing a nonblocking request, you are effectively blocking other users, because the CPU can do one thing at a time.

That is the main pitfall of asynchronous programming as opposed to multithreaded programming.

Re: Chrome DevTools outside of the browser

#16
post #15
post #9

Earlier quoted context omitted.

Most of the things you do for a user are not blocking, that's the whole point of node. Instead of blocking, almost everything is done with asynchronous callbacks.

And while you are servicing a nonblocking request, you are effectively blocking other users, because the CPU can do one thing at a time. That is the main pitfall of asynchronous programming as opposed to multithreaded programming.

In thread-per-connection server applications, the concurrency is exactly the number of threads spun up for the pool of connections. In node, it achieves that concurrency without a thread pool for the connections themselves, and thus you get less resource usage (memory mostly) for the same number of connections as the daemon scales up.

Node's real draw, aside from pretty easy concurrency, is the package ecosystem.

Re: Chrome DevTools outside of the browser

#17
Any post/tool that mentions "cross-browser debugging protocols" has my immediate +1.

Doing so from outside the browser (which gets me that much closer to staying in my IDE) has my immediate +100.

I understand the fancy side of debugging tools is still being actively evolved (interacting with/highlighting DOM elements), but surely we're to the point where a basic JS debugger protocol (break point, skip, go in, go out, etc., ...with source maps...) is doable.

Re: Chrome DevTools outside of the browser

#18
post #15
post #9

Earlier quoted context omitted.

Most of the things you do for a user are not blocking, that's the whole point of node. Instead of blocking, almost everything is done with asynchronous callbacks.

And while you are servicing a nonblocking request, you are effectively blocking other users, because the CPU can do one thing at a time. That is the main pitfall of asynchronous programming as opposed to multithreaded programming.

You are not blocking other users - the CPU is busy and couldn't do other stuff even if it tried. With using one process per core (plus a spare core for "other stuff") you get full CPU utilization. You are right that node is not the right tool for doing large CPU-bound tasks as part of HTTP request handling. If that was your point: yes, that's true and that won't change. But if most of what you're doing is forking out to other services and some light assembly (JS is a scripting language after all), then node is a very nice fit.

Re: Chrome DevTools outside of the browser

#20
post #5

How does this differ from the default Chrome DevTools remote debugging over the wire? Doesn't that also run it's own http server in a way? https://developer.chrome.com/devtools/docs/debugger-protocol...

It does expose a websocket other apps can use to control Chrome (such as this node module: https://github.com/cyrus-and/chrome-remote-interface or the Chrome webdriver )
Post reply on HN