Announcement

Collapse
No announcement yet.

GTK+ 4.0 Toolkit Development Is Warming Up

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GTK+ 4.0 Toolkit Development Is Warming Up

    Phoronix: GTK+ 4.0 Toolkit Development Is Warming Up

    With GNOME/GTK+ 3.22 having been released at the end of September, developer focus is beginning to shift to GNOME 3.24 or in the case of GTK+ developers it's about GTK+ 4.0 development per the toolkit's new development process...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    The problem with Gtk is that writing GUI apps in C sucks:
    gtk_window_set_title(GKT_WINDOW(win), "my title");
    instead of
    win->setTitle("my Title");

    and the C++ binding sucks because it's a binding/workaround for a project written in C. If they wrote Gtk4 in Rust, C++ or anything other that is more high-level yet native (no interpreted crap like Java or Python), I'd consider moving to it. Until then, no matter what they do Qt5 is better.

    Comment


    • #3
      Originally posted by cl333r View Post
      The problem with Gtk is that writing GUI apps in C sucks:
      gtk_window_set_title(GKT_WINDOW(win), "my title");
      instead of
      win->setTitle("my Title");

      and the C++ binding sucks because it's a binding/workaround for a project written in C. If they wrote Gtk4 in Rust, C++ or anything other that is more high-level yet native (no interpreted crap like Java or Python), I'd consider moving to it. Until then, no matter what they do Qt5 is better.
      U ever heard of Vala, bruh? elementaryOS is using it very effectively for their apps, and some GNOME apps use it as well. I used it too, its perfect, and first class citizen in GNOME Builder.

      Comment


      • #4
        Originally posted by cl333r View Post
        The problem with Gtk is that writing GUI apps in C sucks:
        gtk_window_set_title(GKT_WINDOW(win), "my title");
        instead of
        win->setTitle("my Title");
        You could also use Vala (which has native bindings, it compiles to C): win.set_title("my Title");
        Instantiation is just: var win = new Gtk.Window ();

        Comment


        • #5
          I hardly got used to the halfassed gtk3, I hope 4 will remain backwards compatible so we dont need another paralell install

          Comment


          • #6
            Originally posted by pheldens View Post
            I hardly got used to the halfassed gtk3, I hope 4 will remain backwards compatible so we dont need another paralell install
            I think the whole point of bumping the number to 4 was so it wouldn't have to remain backwards compatible when integrating GSK. (Sort of like how GTK+ 3.x replaced GDK drawing with Cairo)

            Comment


            • #7
              Originally posted by gotwig View Post

              U ever heard of Vala, bruh? elementaryOS is using it very effectively for their apps, and some GNOME apps use it as well. I used it too, its perfect, and first class citizen in GNOME Builder.
              I said all the bindings suck because they're bindings. I used the C++ binding, it seemed fine until I got tired of links to read the C code because "C++ is just a binding", and there were the usual trade-offs typical of bindings. The final decision was made when using the C++ binding to gstreamer which unlike the C binding initialized all the plugins (or whatever, I don't recall) at once which caused startup hiccups up to a 2-3 seconds, which I reported and was fixed upstream, but that was the last issue I've had enough with bindings. And I moved to Qt5 a few years ago and I'm happy.


              Not to mention I'm not going to learn Vala, it has pretty much zero market share outside Gtk and since it exists for like 10 years it means it's not going to get traction. I'd rather learn Rust.

              Comment


              • #8
                Originally posted by gotwig View Post

                U ever heard of Vala, bruh? elementaryOS is using it very effectively for their apps, and some GNOME apps use it as well. I used it too, its perfect, and first class citizen in GNOME Builder.
                Originally posted by JonathanM View Post
                You could also use Vala (which has native bindings, it compiles to C): win.set_title("my Title");
                Instantiation is just: var win = new Gtk.Window ();
                The following is 2nd hand information and I haven't the skill nor the inclination to attempt to ascertain its veracity, but:

                Ikey Doherty of Clear Linux and Solus fame notes that from what he has seen of the C-code emitted by the Vala->C transpiler, he has some fairly serious concerns regarding the quality of the generated C-code as well as its potential for hidden security bugs.

                Again, this is just what I saw Ikey state, so take it with whatever amount of salt you find appropriate.

                That said, I personally find the concept of making it simpler/easier/more convenient to write GNOME apps very worthwhile.

                Comment


                • #9
                  Originally posted by pheldens View Post
                  I hardly got used to the halfassed gtk3, I hope 4 will remain backwards compatible so we dont need another paralell install
                  GTK3 minor updates did not manage to always be backwards compatible, what make you believe that a major version will?

                  Comment


                  • #10
                    Originally posted by tessio View Post

                    GTK3 minor updates did not manage to always be backwards compatible, what make you believe that a major version will?
                    Because the whole point of the new system is that major changes get pushed to the current release, leaving small number of fixes on the previous version.

                    Comment

                    Working...
                    X