Earlier quoted context omitted.
javax.* is copyrighted and is now copyleft if you use the jakarta.* namespace instead. as for java.* I don't see how one could have issues, for example Kotlin use and extend the java standard library without any lawsuit. I believe that the issue was that Android devs copy pasted copyrighted code and putted them in their own reimplementation of the jdk without respecting the original authors. Their reimplementation (d…
> I believe that the issue was that Android devs copy pasted copyrighted code and putted them in their own reimplementation of the jdk without respecting the original authors. Your belief is firmly incorrect. The "copied code" claim was for a 9-line rangeCheck function and was otherwise dropped. The main claim is entirely that the java.* API definitions are copyrighted, and therefore Google's clean room re-implementa…
Flutter for Linux
211–220 of 225 posts
Re: Flutter for Linux
#212Earlier quoted context omitted.
> I believe that the issue was that Android devs copy pasted copyrighted code and putted them in their own reimplementation of the jdk without respecting the original authors. Your belief is firmly incorrect. The "copied code" claim was for a 9-line rangeCheck function and was otherwise dropped. The main claim is entirely that the java.* API definitions are copyrighted, and therefore Google's clean room re-implementa…
I stand corrected yet while the legal implications are interesting and important the point still is that Android should totally switch to openjdk, end of story.
Not "end of story" at all - why should Android switch? You mentioned ZGC & Shenandoah, but why do you think that would be a benefit? Have you actually tried benchmarking your app in ART vs. OpenJDK? Do you have any clue at all if ZGC would even be an improvement in your workloads, or the workloads of a typical Android app for that matter? There's a lot of really cool work going on in that space, but for example ZGC's NUMA awareness won't do diddly shit for your Android app, so things like that are pretty moot.
Meanwhile ART has optimizations that OpenJDK doesn't, like importing profiles to AOT compile parts of an app that's never been run locally before: https://android-developers.googleblog.com/2019/04/improving-...
Similarly OpenJDK's startup time & memory usage is historically quite bad, because it's just not a primary use case for them in the same way it is for ART. OpenJDK finally got some improvements in those areas very very recently ( https://cl4es.github.io/2019/11/20/OpenJDK-Startup-Update.ht... ), but it's still not good and far from being obviously superior on all metrics to ART. And ART isn't standing still, either, with new improvements like even faster incredibly fast FFI support: https://android-review.googlesource.com/c/platform/art/+/132... Which is important for achieving things like 120hz 2D UI rendering while also running on incredibly slow in-order non-speculating power saving little cores. Which is a use case & scenario OpenJDK has never been asked to deal with nor optimized to handle.
OpenJDK isn't the end-all be-all excellent-at-everything pinnacle here. After all, nobody ever accused a Java desktop application of being fast & responsive.
Re: Flutter for Linux
#213Earlier quoted context omitted.
I have [self-diagnosed] Code Style OCD. Like you, the Flutter nesting levels was a major fear entering the space. It feels both ugly and inelegant. I found i was over this fear in days if not hours, and continued to improve with my ongoing discovery of helpful UI components. Furthermore, defining your own components and breaking out inline functions into proper functions in your UI classes goes a long way, too. Andro…
> Android Studio, if you use it (i didn't), auto-appends closing bracket comments to keep you visually aware of your nesting. So does VS Code. I stared writing my first Flutter app a couple of weeks ago. I’m using VS Code and I have to say the IDE support is pretty great. Regarding syntax and nesting levels, what I don’t is the `git diff` from wrapping the top-most expression in a new class, thus causing everything i…
Re: Flutter for Linux
#214Earlier quoted context omitted.
I stand corrected yet while the legal implications are interesting and important the point still is that Android should totally switch to openjdk, end of story.
> important the point still is that Android should totally switch to openjdk, end of story Not "end of story" at all - why should Android switch? You mentioned ZGC & Shenandoah, but why do you think that would be a benefit? Have you actually tried benchmarking your app in ART vs. OpenJDK? Do you have any clue at all if ZGC would even be an improvement in your workloads, or the workloads of a typical Android app for t…
Indeed, that is why since around 2000 there are multiple JVM implementations, including plenty of them with AOT and JIT cache capabilities.
The now gone WebSphere Realtime JVM already supported importing profiles for their AOT/JIT compilers.
And in what concerns phone devices, Microsoft did it first with their Cloud compiler for MSIL on Windows Store, first with MDIL/Bartok taken from Singularity for Windows Phone 8.x, followed up by the .NET Native toolchain on Windows 10.
Google's marketing is good, but not very influential for those that actually know the Java eco-system and the offerings available across all major vendors.
Also here is the confirmation that they will carry on cherry picking OpenJDK features instead of full compatibility.
" u/dessert_maker: We pick additional OpenJDK APIs for each Android release based on inputs from our developers. Android 11 will support additional APIs from OpenJDK 9. Everyone that is developing in Java and Kotlin should be able to take advantage of these newer additions.
In addition, we have added library desugaring to the build toolchain in Android Studio to make a wide variety of APIs across OpenJDK 8, 9, 10, and 11 available regardless of what version of Android your app runs on.
We expect to add support to the platform for more modern APIs (11,13,14) based on the level of adoption we see from our broader developer community in future versions. As mentioned in last year's AMA, making the overall runtime updatable is something we are thinking about as part of Project Mainline."
-- https://old.reddit.com/r/androiddev/comments/hk3hrq/were_on_...
So thank you Google for Android Java and like J++, forcing Java library authors to code specifically for Android, or just ignore it and focus on the myriad of JVM compatible implementations instead.
Re: Flutter for Linux
#215Earlier quoted context omitted.
Totally. You definitely can't compete against Slack's desktop app with web technologies: https://slack.engineering/building-hybrid-applications-with-...
Personally I can't tell the difference between the slack app and slack open in my browser. It is literally identical. In Firefox, I can even go "full screen" but still control the size and location of the window, so I don't have to look at the tab bar. Side by side, I can't tell them apart visually or functionally. Maybe the Linux version of electron is neutered in some way? I read article you linked and I don't know…
You mean hiding the browser chrome? Becuase I've been looking for a decent way to do this for years. Do you use a profile for every app? My rationale against this is that I'd like to share the plugins and settings.
Re: Flutter for Linux
#216I am so excited about flutter ecosystem. Hopefully linux gets first class beautiful native apps now. I also hope against hope that qt is officially supported as a backend so KDE is not left out.
Unlikely (GNOME market share) and I can't see why it'd be that important. Platform protocols can be implemented around GTK and as far as I understand GTK is just a vehicle for getting X11/Wayland compatibility, the rendering itself will always be done by Flutter's engine anyway.
Re: Flutter for Linux
#217Earlier quoted context omitted.
> it would be great if you all can say something about how you can get over / stay sane with the staircase looking nesting of code blocks and how you manage to keep it all in your head to navigate the code base. The same way you would in any other code base, with the ample use of names and modules, and breaking nested components and logic into their own classes and functions. The problem is that it requires disciplin…
Trouble is that in most Flutter code the widget staircase is idiomatic. Swift UI also seems to have chosen the same path.
Re: Flutter for Linux
#218From the screenshots and gifs over there I can tell that someone is again forcing people to look at 1) animations 2) grey fonts instead of black and they are even bragging about it being beautiful. These also tend to enormously waste screen space. Are especially those two things configurable by user? I mean - there has to be no animations at all (why does anyone insist on animating theme change? that is just ridiculo…
Similarly information overload is an issue, but of course too little information is as well. That's on the designers, though, you can certainly build information dense apps with Flutter if you want to.
From what I can tell there seems to be a platform multiplier for animations to enable slow motion mode (an important tool for developing good transitions), which I suppose you could just set to 0. And if it doesn't it's just on the developer again.
Basically: I won't deny that it can certainly influence decisions (actually I think it's an important thing to consider), but ultimately it's not really the plattform's fault if a developer decides to make an app you don't like.
Re: Flutter for Linux
#219Earlier quoted context omitted.
We haven't reached perfection yet (that's why we're still in beta), but our goal is to be _very_ different to Flash in these kinds of areas. Here's an example of text fields: https://gallery.flutter.dev/#/demo/text-field Right-click and you have access to the browser context menu; choose Inspect and you can see a or control.
That demo runs horribly on Firefox. And clicking around seems to completely ignore my back button. And hotspots didnt change to the finger cursor. It looked pretty slick, except for those points. Oh well...
Re: Flutter for Linux
#220Earlier quoted context omitted.
Flutter for web feels like going back to the .net "webforms" days, where you could supposedly build a web app the same way as a desktop one and the whole client-server thing was abstracted away. Except it sucked , I still have nightmares about viewstate. Seeing Flutter apps that render everything to canvas feels similar. Developing once for iOS and Android seems obvious and doable, but extending that to the web is a…
Welcome to WebAssembly + WebGL future.