Show HN: Codewich – A live-updating TypeScript/CSS/HTML playground
codewich.com
codewich.com
Here are a few quick things I've written with it so far: https://goo.gl/zZy697 ("Flocking" behavior in a simple particle system) https://goo.gl/1q2kmr (Draw tiling patterns on a canvas) https://goo.gl/aio1rm (CSS-only card flip animation)
I probably would have just left the blank page and forgotten about it if I hadn't seen your comment, but after seeing the examples, I won't forget the site for quite a while.
One immediate benefit would be better support for react. Yes it works but not always as seamlessly as Angular/TypeScript.
I've used React+TS for a year now. It works perfectly. The decorators in TS are great to use with the react-redux implementations - makes the code look less verbose
The only problems I have faced is when type definitions are not available for certain libs. The workaround is simple - using "require(...)" instead of "import .. from ..." statements
With type definitions available from npm and @types, its pretty easy compared to the TSD and Typings I had to use earlier.
Really? I've seen so much hype for typescript (though not as much recently). How much is enough?
The biggest thing that I see as a barrier to entry for TS (and someone please correct me if this is no longer a problem) is integration with build tools from the rest of the ecosystem. Webpack with fancy loaders, third party language tools (linters, etc.), top-tier non-VS Code editor support, and so on.
Webpack and fancy loaders could be issue if you want type checking on really fancy syntax plugins. (Not sure what they are, since JSX is part of TS) These days you need one Webpack loader anyway for new ES features. It's really great that you can just remove Babel and use ts-loader in place as many of the ES features are already in TS.
The loaders I use in webpack are mostly around asset loading. Style loaders, integration with other languages (coffeescript...ugh) for some weird legacy code, etc.
I have absolutely no doubt that it will get implemented sooner or later. Typescript + vscode team pay great attention to the community.
If you want to see it happen, this is the issue to vote on: https://github.com/Microsoft/TypeScript/issues/9694
Follow their roadmap and stated direction. They have always been committed to aligning with standards and whenever ES adopts new functionality they gravitate to it's lead.
They will never drift off to some mutation that isolates you from the JS ecosystem or its benefits.
[1] https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish
MS has for a while now been opening more of its own systems, embracing linux, following standards instead going proprietary etc.
I'm not saying they've found Jesus, it's mostly pragmatic. A few new leaders have found that this approach simply works better and is less douchey at the same time.
So I would say let go of the EEE era. There is lots of bad behavior still going on that is a greater threat. They could benefit from your energy.
Typescript is an open language anyways, there is nothing to extinguish
EEE died a long time ago. It was pretty much gone under Balmer, although we still didn't really play nice with others. Nadella on the other hand came in, started mending fences with other companies that we had previously ignored, or even had some hostility towards. Let me contrast some differences.
Balmer -> Gave all employees a Windows Phone and got pissed if he saw an employee with a competitors phone. I even saw him pretend he was stomping on an iphone at a Company Meeting. Nadella -> Put out a video from himself stating "Unless you work on certain parts of the Windows team, use whatever device want.
Balmer -> Had Office for IOS and Android mostly feature complete and wouldn't release it. Nadella -> Released it quickly after becoming CEO.
You are insane if you think EEE is still going on. That was over like 10. I'm going to skip Balmer as I am sure you can imagine, these are not things he would have done.
Right now Visual Studio for Mac is in preview. We purchased Xamarin and as far as I know it is now free for everyone except Enterprise.
In the last release of Visual Studio, we shipped Chrome as an optional addon.
Released Visual Studio code which is open source, built on open source products from GitHub and Google Chromium.
Open sourced .NET and made it cross platform. This also enabled us to release PowerShell as open source.
Added Bash on Ubuntu on Windows to Windows 10 by collaborating with Canonical. Seriously? Let that sink in @wiredearp. You can now run native command line tools in REAL linux running on Windows.
Invited the Angular team from Google to get a sneak peek at future plans for TypeScript. After the saw it they dropped AtScript and used TypeScript to build Angular (formally known as Angular 2). It is now the preferred language to consume it as well.
SharePoint, the product I work on will soon open source our new app model which now runs on a standard open source web stack. Webpack, gulp, React, all accounted for.
The static types in TypeScript add value, they weren't added as part of some scheme so later we can... what? I can't even imagine a nefarious end game.
No disrespect intended at all, but if you think this is the Microsoft of the Netscape era, you seriously haven't been paying attention.
I find the grandparent argument pretty unconvincing though. People writing Flow are generally using JSX or ES modules (the Flow docs recommend the latter, for example), both of which require a transpiler like Babel to be used in a browser anyway.
Something to consider is that people can gloss over an explanation for convenience. For example: in the previous sentence, I didn't provide any proof that it's accurate. You could make the argument that nobody glosses over explanations for convenience.
I don't think it's necessarily worth proving every statement, because that'd be extremely time-consuming. But if you provide an opposing viewpoint, back it up with clear reasons (this helps filter out positions that are undefendable), and I'm interested in defending my position or continuing the discussion, then we can have a meaningful discussion from that.
The primary difference being that "my position" was not actually my position, it was just an attempt to point out exactly what you're trying to say.
I guess I failed ;)
I would be quite happy if you added some collaboration controls (give read access without giving write access) because I could use this for a lot of our training.
I just put together a websocket demo for anyone who wants some live documentation on how to integrate actioncable-js with their non-actioncable enabled application for client-side updates ->
https://codewich.com/#v1,,,bVHLTuMwFGWNxD9YHiQSiTriMSwKqdTpA...
I really like these code playgrounds but my main issue almost always comes down to flexibility regarding which code I can keep private, which I can make public, and so on.
Just something to keep in mind as you decide to take this ahead.
Now to play with some typescript.
>>> Code snippets you write are automatically saved in a compressed form in the URL. This has a few benefits:
- Your code never leaves your machine unless you decide to share your URL. Since the snippet is stored in the URL fragment (the part after the #), the CodeWich web server doesn't even log your code snippets.
- You don't have to rely on CodeWich's availability. You can download your own copy and run it locally, or host it somewhere you control, and you'll always be able to decode your CodeWich URLs to get the original code.
Codewich reproduced it from the URL?
p.s.: the more I think about it, the more I like it but is there any fear that some programs can't be compressed into a url?
p.p.s maybe not: http://stackoverflow.com/questions/417142/what-is-the-maximu...
I've also provided a standalone version on Github which you can download and run locally or install somewhere in your company's intranet for internal use. It has no analytics and no outside communication.
https://github.com/calebegg/codewich/releases
If there are other ways to support this use case, let me know. I'm open to suggestions.
Really smart and (to me) original.
I'm totally understanding if the only goal is to support .ts and there are no future plans to add scss/pug support, but I'd switch to using this in an instant over using Codepen if it ever gets added!
I'll play around with it and let you know my thoughts after I use it a bit. :)
One of my goals for this is to avoid anything that requires a backend and do everything in the browser. This lets you keep your code private and makes Codewich basically maintenance-free (hopefully). Looks like sass can run in the browser with emscripten, so that should be possible, but seemingly not pug?: https://github.com/pugjs/pug/issues/2655.
Feel free to file an issue for SASS if you'd like to track the progress. https://github.com/calebegg/codewich
Unfortunately I think Chrome has a limit on the length of url you can paste into it. I tried copying the url of a slightly longer code into text editor and a new Chrome tab, the latter failed with a audio signal.
Also, really enjoying your "Flocking" script. Well done.
So then what's the benefit? Doesn't codepen support TS?