Announcement

Collapse
No announcement yet.

GNOME Builder 43 Alpha Released After Being Ported To GTK 4

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

  • GNOME Builder 43 Alpha Released After Being Ported To GTK 4

    Phoronix: GNOME Builder 43 Alpha Released After Being Ported To GTK 4

    GNOME Builder as the desktop's integrated development environment (IDE) is the latest software project to be ported to the GTK 4 toolkit...

    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
    Maybe GNOME Builder is great for Vala?

    I used GNOME Builder and found it confusing that when you create a new project you can chose "GNOME Application" or "GTK Application" but it is not obvious what the difference is. The difference is that "GNOME Application" is GTK 4 with Adwaita and "GTK Application" is GTK 4 without Adwaita.

    I used GNOME Builder to create a Rust application. Every time I want to run the application it first has to compile the package with Rust then package it with Flatpak, so it is a really slow process.
    GNOME Builder is not as helpful as VS Code it doesn't integrate Clippy or provide any refactoring help. I find VS Code much better than GNOME Builder for Rust projects. With VS Code I was however unable to run the projects that were created from GNOME Builder so I end up coding with VS Code and running the app from GNOME Builder.

    But creating an entire IDE is a huge undertaking, IDE like Visual Studio, VS Code, Android Studio, IntelliJ IDEA, etc are built by large teams.

    Comment


    • #3
      Not just a port, part of the GTK4/Libadwaita rebuild of Builder is a full new panel library meaning you can freely arrange the UI items.

      There are also many many more great improvements all over the code, which makes this sweet little IDE even better.

      Comment


      • #4
        Originally posted by uid313 View Post
        Maybe GNOME Builder is great for Vala?

        I used GNOME Builder and found it confusing that when you create a new project you can chose "GNOME Application" or "GTK Application" but it is not obvious what the difference is. The difference is that "GNOME Application" is GTK 4 with Adwaita and "GTK Application" is GTK 4 without Adwaita.

        I used GNOME Builder to create a Rust application. Every time I want to run the application it first has to compile the package with Rust then package it with Flatpak, so it is a really slow process.
        GNOME Builder is not as helpful as VS Code it doesn't integrate Clippy or provide any refactoring help. I find VS Code much better than GNOME Builder for Rust projects. With VS Code I was however unable to run the projects that were created from GNOME Builder so I end up coding with VS Code and running the app from GNOME Builder.

        But creating an entire IDE is a huge undertaking, IDE like Visual Studio, VS Code, Android Studio, IntelliJ IDEA, etc are built by large teams.
        It's like Android Studio. It's great for making Java/Kotlin apps (or even for using the NDK), but you shouldn't create a standalone Java program with it.

        GNOME Builder is great for GNOME. You can watch George Stravacas's many YouTube videos and it really works out for him. It's well integrated into the ecosystem.

        I mean, I know that creating an entire IDE is a huge undertaking, but I'm sure creating GTK4 is a much bigger feat.

        Comment


        • #5
          Maybe this is me, but due to how they look like Modified Maximize Windows buttons, when I was on GNOME the other day at first I thought those Square Icons with the Arrows pointing out of the corner were to open stuff in a popout or popup window from the application and not open up a web browser.

          Comment


          • #6
            My IDE of choice, looking forward for this big new release. Took me a while to adopt my workflow to it, though. Especially using `ctrl`+`.` for global search.

            Comment


            • #7
              Originally posted by uid313 View Post
              Maybe GNOME Builder is great for Vala?

              I used GNOME Builder and found it confusing that when you create a new project you can chose "GNOME Application" or "GTK Application" but it is not obvious what the difference is. The difference is that "GNOME Application" is GTK 4 with Adwaita and "GTK Application" is GTK 4 without Adwaita.

              I used GNOME Builder to create a Rust application. Every time I want to run the application it first has to compile the package with Rust then package it with Flatpak, so it is a really slow process.
              GNOME Builder is not as helpful as VS Code it doesn't integrate Clippy or provide any refactoring help. I find VS Code much better than GNOME Builder for Rust projects. With VS Code I was however unable to run the projects that were created from GNOME Builder so I end up coding with VS Code and running the app from GNOME Builder.

              But creating an entire IDE is a huge undertaking, IDE like Visual Studio, VS Code, Android Studio, IntelliJ IDEA, etc are built by large teams.
              Wait a sec, so in Rust-related topics, you constantly hate on Rust and say that you never use it, but now you admit that you *are* using it?

              Comment


              • #8
                Well, doesn't build for me

                Code:
                FAILED: src/plugins/git/daemon/gnome-builder-git.p/ipc-git-repository-impl.c.o
                cc -Isrc/plugins/git/daemon/gnome-builder-git.p -Isrc/plugins/git/daemon -I../gnome-builder/src/plugins/git/daemon -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libgit2-glib-1.0 -I/build/gnome-builder/src/build -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O0 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_72 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_72 -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_8 -DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_8 -DGTK_SOURCE_VERSION_MIN_REQUIRED=GTK_SOURCE_VERSIO N_5_6 -DGTK_SOURCE_VERSION_MAX_ALLOWED=GTK_SOURCE_VERSION _5_6 -Wcast-align -Wdeclaration-after-statement -Werror=address -Werror=array-bounds -Werror=empty-body -Werror=implicit -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=init-self -Werror=int-conversion -Werror=int-to-pointer-cast -Werror=main -Werror=misleading-indentation -Werror=missing-braces -Werror=missing-include-dirs -Werror=nonnull -Werror=overflow -Werror=pointer-arith -Werror=pointer-to-int-cast -Werror=redundant-decls -Werror=return-type -Werror=sequence-point -Werror=shadow -Werror=trigraphs -Werror=undef -Werror=write-strings -Wformat-nonliteral -Werror=format-security -Werror=format=2 -Wignored-qualifiers -Wimplicit-function-declaration -Wlogical-op -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wno-cast-function-type -Wno-dangling-pointer -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wuninitialized -Wunused -fno-strict-aliasing -DHAVE_CONFIG_H -D_GNU_SOURCE -DIDE_COMPILATION -DG_DISABLE_CAST_CHECKS -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/gnome-builder/src=/usr/src/debug -fPIE -DGIT_SSH=1 -pthread -MD -MQ src/plugins/git/daemon/gnome-builder-git.p/ipc-git-repository-impl.c.o -MF src/plugins/git/daemon/gnome-builder-git.p/ipc-git-repository-impl.c.o.d -o src/plugins/git/daemon/gnome-builder-git.p/ipc-git-repository-impl.c.o -c ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c
                ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c: In function ‘translate_status’:
                ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c:135:10: error: ‘GGIT_STATUS_CONFLICTED’ undeclared (first use in this function); did you mean ‘GIT_STATUS_CONFLICTED’?
                135 | case GGIT_STATUS_CONFLICTED:
                | ^~~~~~~~~~~~~~~~~~~~~~
                | GIT_STATUS_CONFLICTED
                ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c:135:10: note: each undeclared identifier is reported only once for each function it appears in
                ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c:144:10: error: ‘GGIT_STATUS_WORKING_TREE_RENAMED’ undeclared (first use in this function); did you mean ‘GGIT_STATUS_WORKING_TREE_DELETED’?
                144 | case GGIT_STATUS_WORKING_TREE_RENAMED:
                | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                | GGIT_STATUS_WORKING_TREE_DELETED
                ../gnome-builder/src/plugins/git/daemon/ipc-git-repository-impl.c:145:10: error: ‘GGIT_STATUS_WORKING_TREE_UNREADABLE’ undeclared (first use in this function); did you mean ‘GGIT_STATUS_WORKING_TREE_TYPECHANGE’?
                145 | case GGIT_STATUS_WORKING_TREE_UNREADABLE:
                | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                | GGIT_STATUS_WORKING_TREE_TYPECHANGE

                Comment


                • #9
                  I've used it in very limited capacity, but one thing that stood out to me is listing files on the left vertically instead of using tabs like every other program. It makes it so annoying.

                  Comment


                  • #10
                    Originally posted by Vistaus View Post

                    Wait a sec, so in Rust-related topics, you constantly hate on Rust and say that you never use it, but now you admit that you *are* using it?
                    No, I don't constantly hate on Rust. I tried it out, and there are lots of things I really like about Rust.
                    Still there are things that I don't like about it, such as lack of async fn in traits, awkward & confusing module system, and minor things like the syntax of lambdas. Overall, I like Rust.

                    Comment

                    Working...
                    X