I would like date pickers to have years on left, then months and then days; that would be more intuitive at least for me because I tend to choose from left to right.
It looks like this is Ring UI. It looks like that is React. It also looks like it only runs on NodeJS. So this could be good news if you're willing to use JavaScript (NodeJS) as the server and use or switch to React style, JavaScript dedicated, back-end work. Is this something the Enterprise is willing to do?
I'm not talking about facebook. I've implemented this for Fortune 50 financial firms and telcos. Wall Street Journal is react. Wal-Mart is all in on react and even open sourced their own isomorphic framework. It's being adopted very broadly and very quickly.
I haven't seen such a quick uptake in enterprise, since the late 90s when everyone began using Java and universities took it up as a teaching language.
Enterprise cares predominantly about hireability, and Javascript has been the only language for the web for decades. Everyone who even tangentially has a brush with web technologies knows it, and if your company has a frontend team you already have people at your company who know Javascript well.
I predict Javascript will continue to see growing use serverside, at least until the point ten years from now when WebAssembly is mature enough that people can develop for the frontend as well as the backend in any language.
The problem with making a WYSIWYG designer for the web is that it's a Turing tarpit. There are three whole programming languages in there, interacting in weird ways, and programmers use all of them. So your UI designer has to either create something horrible that no human is expected to edit, which doesn't work for dynamic apps (see: Dreamweaver), or you have to constrain what the programmer can do. This means inventing a sensible API that's amenable to WYSIWYG.
We took the latter approach with Anvil - we've cut the Gordian knot of HTML/JS/CSS by implementing a (VB6-like) component model, with a pure Python API. While I am, of course, biased, I think that's probably the closest we can get to what you're wishing for.
Thank-you! You'd need a standalone Anvil runtime for that, but it is something we offer. (It's one `docker-compose` command.)
(The reason for this is that our client and server are deeply integrated. This is what lets us, eg, return a live database view from server code into client code with a simple function call, with full autocomplete. But it does mean we can't do a one-click "export as a Flask app".)
Is there a blog post out there on the reasoning behind choosing Python instead of JavaScript for that component model + API? Just seems odd to add a 4th language to the mix.
I'm just guessing but by using Python, they can go with a more robust module system, and there's a semantic break between Anvil's Language and its output.
If they used Javascript, you might be confused because they'd process your Javascript into other Javascript before it's used on the site, and you can edit it. That's a bit confusing isn't it?
Knowing to begin with that the input language is a whole separate thing, is less confusing.
If we used JS, it would be very difficult to maintain the firm layer of abstraction that gets us out of the Turing Tarpit.
Also, to a first approximation, people don't learn JS on its own. You only learn it if you're already learning traditional front-end development. That's a journey we explicitly want to save people from - so we didn't want to use a language that only web devs know.
Python is a lot easier to pick up for non-Pythonistas than JS is for non-web developers.
It's only linked in the comments; also - they're dogfooding issues in their own YouTrack thing. It looks like JetBrains does this for all their open source projects. Can anyone with some experience compare against GitHub's issues?
We use Youtrack at our company. It's a fully fledged issue tracker with a lot of features, e.g. custom fields, top notch search, batch operations, keyboard shortcuts, agile boards, workflows via own DSL, reports and statistics etc.
We use YouTrack on my team. It's incredibly flexible, extremely fast, and has a very powerful command palette built in for keyboard navigation and issue management.
It's not perfect, but it hits more of the marks I'd want than anything else I've tried.
JetBrains is kinda crushing it. I've spent the last two days looking into Kotlin. I didn't realize not only that Kotlin can compile to JS but also that you can interact with say React from it. So you can build a full stack app in it, without ever touching JS. (I think that the JS compilation is still technically in beta but w/e).
Combined with the fact that you can use Quasar for Erlang style processes, I think that I found my next web language.
I guess you could achieve this with Scala too but I could never get over the compilation times. Also the Kotlin integration seems somewhat more straightforward.
How efficient is the conversion performance-wise and code-length wise? Can I finally get rid of GWT if I want to develop web apps with JVM tooling? Is the debug mapping between JS variables and JVM variables better than with GWT and super dev mode? Is it easy to use Kotlin with ReactVR/Native?
With the 1.1.4 version they have added a dead code eliminator which really helps with the resulting javascript length. In the example above the resulting javascript file is 440 KB (zipped 113 KB). Which is not bad if you take into account that the included libraries are more than 2MB (the standard library and static html builders being the biggest ones).
I haven't measured runtime performance, but I haven't noticed anything being slower than plain javascript yet. A clean compile in this example takes ~8 second, incremental compiles takes 3-4 seconds.
The jvm doesn't play a role when targeting javascript so I am not sure what you mean with JVM variables and I don't know much about GWT. But you can debug the resulting javascript from intellij and step through the kotlin sources if you want.
I don't know how easy it is to integrate with react.
Buying my first Mac in over 10 years to learn iOS development is on my bucket list. I also wanted to use it to play with .Net Core on a Unix environment. I'll gladly give JetBrains more money than I do now for Resharper to use Rider (cross platform C# IDE) and all of their other tools.
I really hope they nail it with Rider. I am so sick of Visual Studio. It just gets slower and slower. I have a 20 core machine, with 128gb of RAM and it constantly seizes up for seconds at a time, various components crash randomly, and things sometimes work and sometimes not: Go To Definition for example, or pressing F2 to rename. Whatever it is that suggests I add a missing using sometimes decides it can't do that and instead prefixes the unknown type with the fully qualified name (so it has the namespace, it prefixes the type I wrote, but it can't suggest adding the using). Debugging has been broken too, where sometimes it can't even show me what my local variables are never mind other vars, and it is also much slower than it was. And god help you if you have a large code file in your project. The moment you've opened it once, that's it everything starts falling apart and slowing to a crawl. If I copy a file in a .NETCore project then I have to close the solution and re-open it for the compiler to see it. Et cetera, et cetera.
It's obvious that things that shouldn't do a lot of work, do in fact do work. Like if I press Ctrl+C on some selected text. I simply expect it to put the text into the clipboard. But sometimes it will stall, put a dialog on the screen telling me it's doing some formatting and I need to wait! What the hell is it formatting?
Every member of my team is sick of it and it's negatively affecting our productivity, so if Rider is good then bye bye Visual Studio.
Thank you for this. I have been using VS 2017 primarily for last 6 months as I enter the .net world and thought many of these complaints were me / my substandard machine.
Your experience with VS and your desires for Rider reflect my own. Correct me if I'm wrong, but isn't Visual Studio still a 32 bit application? That would definitely limit the utility of those 128GB.
I tend to have a number of solutions open. But mostly I was just trying to convey that my setup isn't to blame (fastest possible ram, large amounts of it, super fast cpu, all off SSDs too).
Obviously a 32bit app could run a number of sub app domains, so it can still make use of more than 2gb. I think ultimately though is it's not the resource that's the issue, it's the buggyness of the system. It just feels unfinished, and it seems there's some lazy decisions made in implementation ... the formatting error on Ctrl-C sounds like it's doing too much work; other things like if I try to download a publicly available nuget package, through the god awful UI, I have the source setup as nuget.com - it then pops up a dialog asking for my credentials to my company nuget server! If I cancel it, guess what, it fails to get the package from the web.
I have a strong suspicion that it's talking to the net too often generally (I have a slow broadband connection, so I see areas that are clearly doing too many round trips).
I feel it seemed to really start going downhill when Roslyn became the compiler (which I assume is running most of the tooling). I don't know if that's anything to do with it, but I assume they had to rewrite a lot of the core components when Roslyn came along.
2015 wasn't great, 2017 is really bad. Waiting several years for them to finish the project properly is taking its toll on my confidence in a product I've used in one form or another since 1994
louthy, I'm from the VS team. Sorry to hear that you are running into this. Can you Help -> Send Feedback - Report a Problem (don't worry about the contents), and point me to the resulting feedback? I'll dig into your performance data and make sure we've got bugs/fixes for the things you are running into.
You can use coroutines with Kotlin JS. Your sentence doesn't really make sense to me though since coroutines and React have very little to do with each other.
They've always had issues with release quality in my opinion. My tactic is to use the upgraded version side-by-side with the old version, until I feel confident there aren't showstopping bugs... then delete the old version.
I was coincidentally looking at Ktor yesterday. I quickly ran into pages which are linked from the Getting Started guide (such at http://ktor.io/Features) which don't exist. Doesn't give the best first impression, but I gather it's a very new framework so I'm sure it'll be corrected soon...
We are sorry for broken links, we just recently migrated from GitHub wiki pages to own site and indeed some links could've migrated incorrectly. Thanks for the heads up, we will fix it :)
They really do put out some great stuff - ReSharper is tremendously useful for .NET developers, YouTrack is one of the best (if lesser-known) issue trackers out there, and DataGrip is a fantastic database management tool (especially for Postgres, since pgAdmin 3 doesn't support newer versions and pgAdmin 4 is a major step backwards).
There is a pgAdmin 3 fork by BigSQL that supports new postgres versions. I can't say how it compares to DataGrip, but compared to pgAdmin 4 it's a godsend.
DataGrip is awesome. Only complaint is the subscription model.
The nice thing about DataGrip as opposed to PG tools listed above is SQLServer support. (Sometimes you don't get to pick the database you'll be working with).
Love data grip and I also use it for SQL Server. Im happy to pay the sub for it as I am webstorm and soon gogland. Hope they release a clojure IDE soon.
I think there are better times to do this than the initial version 0 release of an open source production.
Taking the chance to "call out" its "lack", is essentially shaming people for doing social good (open source), and not going far enough in someone's opinion.
You can think what you want. The people who downvoted me for simply asking why the parent was downvoted can think what they want. The mods can think what they want. It doesn't justify anyone for downvoting the parent's comment which was his view or mine for calling out the unjustified downvoting. This is where the mods should step in, find out who was downvoting both the parent and me; and remove their ability to downvote for a time.
Tacking on accessibility at the end is very difficult (most of the time it's quicker to rewrite). By not considering it from the beginning it means these components will never be usable by people with access needs.
Also it is possible to call out a critical oversight in the design of a product while not shaming them for releasing it.
More ways to make checkboxes. As if react bootstrap.. Did not already reinvinted the square wheel. And how many megabytes do my browser have to parse before being able to draw the checkbox?
95 comments
[ 3.7 ms ] story [ 156 ms ] threadI particularly like the Date Picker: http://www.jetbrains.org/ring-ui/date-picker.html
http://www.jetbrains.org/ring-ui/examples/date-picker/date-p...
I'd like to hear someone explaining why it isn't awful to use with a mouse.
Enterprise cares predominantly about hireability, and Javascript has been the only language for the web for decades. Everyone who even tangentially has a brush with web technologies knows it, and if your company has a frontend team you already have people at your company who know Javascript well.
I predict Javascript will continue to see growing use serverside, at least until the point ten years from now when WebAssembly is mature enough that people can develop for the frontend as well as the backend in any language.
Also, I hadn't heard of their Upsource product before, it looks really nice.
The problem with making a WYSIWYG designer for the web is that it's a Turing tarpit. There are three whole programming languages in there, interacting in weird ways, and programmers use all of them. So your UI designer has to either create something horrible that no human is expected to edit, which doesn't work for dynamic apps (see: Dreamweaver), or you have to constrain what the programmer can do. This means inventing a sensible API that's amenable to WYSIWYG.
We took the latter approach with Anvil - we've cut the Gordian knot of HTML/JS/CSS by implementing a (VB6-like) component model, with a pure Python API. While I am, of course, biased, I think that's probably the closest we can get to what you're wishing for.
(The reason for this is that our client and server are deeply integrated. This is what lets us, eg, return a live database view from server code into client code with a simple function call, with full autocomplete. But it does mean we can't do a one-click "export as a Flask app".)
If they used Javascript, you might be confused because they'd process your Javascript into other Javascript before it's used on the site, and you can edit it. That's a bit confusing isn't it?
Knowing to begin with that the input language is a whole separate thing, is less confusing.
If we used JS, it would be very difficult to maintain the firm layer of abstraction that gets us out of the Turing Tarpit.
Also, to a first approximation, people don't learn JS on its own. You only learn it if you're already learning traditional front-end development. That's a journey we explicitly want to save people from - so we didn't want to use a language that only web devs know.
Python is a lot easier to pick up for non-Pythonistas than JS is for non-web developers.
Perhaps we should write that blog post...
It's only linked in the comments; also - they're dogfooding issues in their own YouTrack thing. It looks like JetBrains does this for all their open source projects. Can anyone with some experience compare against GitHub's issues?
It's not perfect, but it hits more of the marks I'd want than anything else I've tried.
https://github.com/Kotlin/kotlin-fullstack-sample
Combined with the fact that you can use Quasar for Erlang style processes, I think that I found my next web language.
I guess you could achieve this with Scala too but I could never get over the compilation times. Also the Kotlin integration seems somewhat more straightforward.
I also like that the company that makes my IDE also makes the ORM (https://github.com/JetBrains/Exposed) and web framework (https://github.com/Kotlin/ktor). Idk how good these are but I imagine pretty decent.
For example here is a single page app written with kotlin: https://github.com/rnentjes/simple-password-manager
I haven't measured runtime performance, but I haven't noticed anything being slower than plain javascript yet. A clean compile in this example takes ~8 second, incremental compiles takes 3-4 seconds.
The jvm doesn't play a role when targeting javascript so I am not sure what you mean with JVM variables and I don't know much about GWT. But you can debug the resulting javascript from intellij and step through the kotlin sources if you want.
I don't know how easy it is to integrate with react.
It's obvious that things that shouldn't do a lot of work, do in fact do work. Like if I press Ctrl+C on some selected text. I simply expect it to put the text into the clipboard. But sometimes it will stall, put a dialog on the screen telling me it's doing some formatting and I need to wait! What the hell is it formatting?
Every member of my team is sick of it and it's negatively affecting our productivity, so if Rider is good then bye bye Visual Studio.
Obviously a 32bit app could run a number of sub app domains, so it can still make use of more than 2gb. I think ultimately though is it's not the resource that's the issue, it's the buggyness of the system. It just feels unfinished, and it seems there's some lazy decisions made in implementation ... the formatting error on Ctrl-C sounds like it's doing too much work; other things like if I try to download a publicly available nuget package, through the god awful UI, I have the source setup as nuget.com - it then pops up a dialog asking for my credentials to my company nuget server! If I cancel it, guess what, it fails to get the package from the web.
I have a strong suspicion that it's talking to the net too often generally (I have a slow broadband connection, so I see areas that are clearly doing too many round trips).
I feel it seemed to really start going downhill when Roslyn became the compiler (which I assume is running most of the tooling). I don't know if that's anything to do with it, but I assume they had to rewrite a lot of the core components when Roslyn came along.
2015 wasn't great, 2017 is really bad. Waiting several years for them to finish the project properly is taking its toll on my confidence in a product I've used in one form or another since 1994
Dave twitter.com/davkean
Also since their new licence scheme it seems releases quality can be hit or miss.
https://www.openscg.com/bigsql/pgadmin3/
I don't think I can go back from DataGrip, though. Too many nice things I've gotten used to (query tabs, multi-format result exports, etc).
The nice thing about DataGrip as opposed to PG tools listed above is SQLServer support. (Sometimes you don't get to pick the database you'll be working with).
It looks like the example data isn't correctly set up.
http://www.jetbrains.org/ring-ui/table.html
Here are a couple of sample pages based on CxJS widgets:
- https://worldoscope.cxjs.io/4v5b3k2
- https://starter.cxjs.io/dashboards/sales
Full disclosure: It's a commercial framework, I'm the author.
https://cxjs.io/
https://github.com/codaxy/cxjs
Yes, the released components do not cover a use case that they were not designed or intended to cover.
Yes, if your use case is exactly that, you will find these components less useful as you'll have to modify them.
Yet all of that is trite, and completely unfair criticism to wager against someone on the very first day of their components release.
The commenter is merely trying to push this into the cultural norm. I concur with such sentiments.
Taking the chance to "call out" its "lack", is essentially shaming people for doing social good (open source), and not going far enough in someone's opinion.
Also it is possible to call out a critical oversight in the design of a product while not shaming them for releasing it.