[release-notes] Refine developers.page



commit b59d8e2279a0a8168cdcab055ae0d9a4212e55f4
Author: Allan Day <allanpday gmail com>
Date:   Wed Sep 8 15:56:33 2021 +0100

    Refine developers.page
    
    General polish and improvement. More needed.

 help/C/developers.page | 283 ++++++++++++++++++++++++++++---------------------
 1 file changed, 160 insertions(+), 123 deletions(-)
---
diff --git a/help/C/developers.page b/help/C/developers.page
index d97723a5..ee837e58 100644
--- a/help/C/developers.page
+++ b/help/C/developers.page
@@ -35,66 +35,75 @@
   using with the GNOME platform.</p>
 
   <section id="dev-docs">
-    <title>Developer Documentation</title>
+    <title>Improved Documentation</title>
 
     <p>GNOME 41 is accompanied by an extravaganza of documentation
     improvements!</p>
-
-    <p>Starting with GNOME 40, the GNOME developer website was replaced with
-    <link href="https://developer.gnome.org/";>a new, streamlined portal</link>
-    that provides access to the main sources of documentation for GNOME platform
-    developers.</p>
-
-    <p>This is coupled with a <link
-    href="https://developer.gnome.org/documentation/";>new developer docs
-    site</link> that contains the most up-to-date and relevant general developer
-    documentation. This includes <link
-    href="https://developer.gnome.org/documentation/guidelines.html";>guidelines</link>
-    on general programming conventions, accessibility, and localization, as well
-    as shorter
-    <link
-    href="https://developer.gnome.org/documentation/tutorials.html";>tutorials</link>
-    introducing common developer tasks.</p>
-
-    <p>The new docs site also includes a new <link
-    href="https://developer.gnome.org/documentation/introduction.html";>introduction
-    to the GNOME platform</link>, with an overview of included components and
-    services, information on the various programming languages that can be used,
-    and introductions to Builder and Flatpak.</p>
-  </section>
-
-  <section id="api-docs">
-    <title>Better API documentation</title>
-
-    <p>GTK's documentation is now generated using the new <cmd>gi-docgen</cmd>
-    tool, resulting in more accurate and consistent documentation, as well as
-    improved websites. All documentation can be found at <link
-    href="https://docs.gtk.org";>docs.gtk.org</link>, including documentation
-    for:</p>
-
-    <list>
-      <item><p><link href="https://docs.gtk.org/gtk4/";>GTK</link>, <link
-      href="https://docs.gtk.org/gdk4/";>GDK</link>, <link
-      href="https://docs.gtk.org/gsk4/";>GSK</link></p></item>
-      <item><p><link href="https://docs.gtk.org/pango/";>Pango</link>, <link
-      href="https://docs.gtk.org/gdk-pixbuf/";>GdkPixbuf</link></p></item>
-      <item><p><link href="https://docs.gtk.org/glib/";>GLib</link>, <link
-      href="https://docs.gtk.org/gobject/";>GObject</link>, <link
-      href="https://docs.gtk.org/gio/";>GIO</link></p></item>
-    </list>
-  </section>
-
-  <section id="hig">
-    <title>Rewritten Human Interface Guidelines</title>
-
-    <p>Developer docs aren't the only documentation to have been revamped during
-    the GNOME 41 cycle. The <link href="https://developer.gnome.org/hig/";>GNOME
-    design documentation</link> was updated as well.</p>
-
-    <p>Existing content has been updated to match contemporary design practice,
-    as well as making the guidelines easier to use. The HIG has also been
-    expanded with additional material on accessibility, UI styling, adaptive UI,
-    navigation structures, and more.</p>
+    
+    <section id="website">
+      <title>New Docs Site</title>
+
+      <p>Since GNOME 40, the GNOME main developer website has been replaced,
+      with
+      <link href="https://developer.gnome.org/";>a new, streamlined portal</link>
+      that provides access to the main sources of documentation for GNOME
+      platform developers.</p>
+
+      <p>This is coupled with a <link
+      href="https://developer.gnome.org/documentation/";>new developer docs site
+      </link> that contains the most up-to-date and relevant general developer
+      documentation. This includes <link 
href="https://developer.gnome.org/documentation/guidelines.html";>guidelines</link>
+      on general programming conventions, accessibility, and localization, as 
+      well as shorter <link href="https://developer.gnome.org/documentation/tutorials.html";>tutorials</link>
+      introducing common developer tasks.</p>
+
+      <p>The new docs site also includes a new <link
+      href="https://developer.gnome.org/documentation/introduction.html";>introduction to the GNOME 
platform</link>,
+      with an overview of included components and services, information on the 
+      various programming languages that can be used, and introductions to 
+      Builder and Flatpak.</p>
+    </section>
+
+    <section id="api-docs">
+      <title>New API Docs</title>
+
+      <p>GTK's documentation is now generated using the new <cmd>gi-docgen</cmd>
+      tool, resulting in more accurate and consistent documentation, as well as
+      improved API docswebsites. GTK API documentation generated with this tool 
+      can be found at 
+      <link href="https://docs.gtk.org";>docs.gtk.org</link>, including 
+      documentation for
+      <link href="https://docs.gtk.org/gtk4/";>GTK</link>,
+      <link href="https://docs.gtk.org/gdk4/";>GDK</link>,
+      <link href="https://docs.gtk.org/gsk4/";>GSK</link>,
+      <link href="https://docs.gtk.org/pango/";>Pango</link>,
+      <link href="https://docs.gtk.org/gdk-pixbuf/";>GdkPixbuf</link>,
+      <link href="https://docs.gtk.org/glib/";>GLib</link>,
+      <link href="https://docs.gtk.org/gobject/";>GObject</link>, and
+      <link href="https://docs.gtk.org/gio/";>GIO</link>.</p>
+    </section>
+
+    <section id="hig">
+      <title>New Human Interface Guidelines</title>
+
+      <p>GNOME's 
+      <link href="https://developer.gnome.org/hig/";>design documentation</link>
+      has also been expanded and refined during the GNOME 41 development 
+      cycle.</p>
+
+      <p>The guidelines have been updated to match contemporary design 
+      practice, so that they reflect up to date design conventions. The 
+      guidelines have also been substantially expanded, with additional 
+      material on accessibility, UI styling, adaptive UI, navigation
+      structures, and more.</p>
+
+      <p>Finally, the new HIG has been polished and is now easier to use. It 
+      has a new website, which is easy to navigate and search. Also virtually 
+      all the old content has been rewritten to make it easier to understand 
+      and use.</p>
+
+    </section>
+  
   </section>
 
   <section id="builder">
@@ -103,98 +112,126 @@
     <p><app>Builder</app>, the GNOME IDE, has a large collection of enhancements
     for GNOME 41.</p>
 
-    <terms>
-      <item>
-        <title>Find in Files</title>
-        <p>Builder's "find in files" feature, which allows finding and replacing
-        strings across an entire project, has been redesigned for GNOME 41. It
-        is now located in a persistent section in the bottom panel, which makes
-        it easier to find and access, and has a new search UI, which makes it
-        easy to specify queries and browse results across a project.</p>
-      </item>
-      <item>
-        <title>CMake and Make support</title>
-        <p>In GNOME 41, Builder can now build and run CMake projects. TODO: more
-        details needed here. You can just click the run button and off it will
-        go? Do you need a Flatpak manifest, or can you specify the build
-        configuration in a more generic CMake-y way?</p>
-        <p>Builder can now also build projects that use a pure Make build setup
-        in a Flatpak environment, thanks to now being able to handle
-        <cmd>make-args</cmd>
-        and <cmd>make-install-args</cmd>.</p>
-      </item>
-      <item>
-        <title>Connected devices</title>
-        <p>Builder has had the ability to detect connected devices, and build
-        and deploy Flatpak bundles to them. Now, with GNOME 41, this all works
-        much more automatically: just press the run button, and Builder will
-        build and deploy to the device for you.</p>
-      </item>
-      <item>
-        <title>Markdown previews</title>
-        <p>Builder has a new markdown renderer for GNOME 41, which produces much
-        better-formatted Markdown previews.</p>
-      </item>
-    </terms>
+    <section id="find-in-files">
+      <title>Find in Files</title>
+      <p>Builder's "find in files" feature, which allows finding and replacing
+      strings across an entire project, has been redesigned for GNOME 41. It
+      is now located in a persistent section in the bottom panel, which makes
+      it easier to find and access, and has a new search UI, which makes it
+      easy to specify queries and browse results across a project.</p>
+    </section>
+    
+    <section id="cmake-make">
+      <title>CMake and Make Support</title>
+      <p>In GNOME 41, Builder can now build and run CMake projects. TODO: more
+      details needed here. You can just click the run button and off it will
+      go? Do you need a Flatpak manifest, or can you specify the build
+      configuration in a more generic CMake-y way?</p>
+      <p>Builder can now also build projects that use a pure Make build setup
+      in a Flatpak environment, thanks to now being able to handle
+      <cmd>make-args</cmd> and <cmd>make-install-args</cmd>.</p>
+    </section>
+
+    <section>
+      <title>Deploy to Connected Devices</title>
+      <p>Builder has had the ability to build and deploy Flatpak bundles to 
+      connected devices for some time, which is useful when developing mobile 
+      applications. With GNOME 41, this feature has been improved, and works 
+      much more automatically. To learn how to use it, see 
+      <link href="https://www.jwestman.net/2021/08/06/tutorial-mobile-dev-with-builder.html";>James Westman's 
tutorial</link>.</p>
+    </section>
+    
+    <section>
+      <title>Markdown Previews</title>
+      <p>Builder has a new markdown renderer for GNOME 41, which produces much
+      better-formatted Markdown previews.</p>
+    </section>  
+
   </section>
 
   <section id="gtk4">
     <title>GTK 4</title>
 
     <p>There have been two minor updates to GTK 4 since the GNOME 40 release:
-    4.2, and 4.4. These have included various various enhancements and bug
-    fixes:</p>
+    4.2, and 4.4.</p>
+    
+    <p>GTK 4.2 introduced NGL, a new GL renderer for GTK 4, which is now the 
+    defalut renderer on Linux, Windows and Mac. It has noticably faster 
+    improvements to frames per second, as well as power and CPU usage.  the 
+    previous GL renderer. NGL was subsequently improved in GTK 4.4, with speedups, performance 
+    fixes, and other bug fixes.</p>
+    
+    <p>Input handling has been another area for improvements in GTK, with 
+    changes in compose and dead key handling.</p>
+    
+    <p>Other improvements in the 4.2 and 4.4 releases include:</p>
 
     <list>
-      <item><p>The replacement GL renderer continues to improve. This includes
-      speedups, fixes for transformed rendering, avoiding huge intermediate
-      textures, and correct handling of partial color fonts.</p></item>
       <item><p>GTK Inspector is now enabled by default, to make debugging
       easier.</p></item>
-      <item><p>There have been various improvements to GTK 4 on Windows:</p>
-        <list>
-          <item><p>GL is now used for media playback.</p></item>
-          <item><p>The <code>WinPointer</code> API for tablets and other input
-          devices now, replacing the outdated <code>wintab</code> API</p></item>
-          <item><p>Improved DND support, including the dropping of the local DND
-          protocol.</p></item>
-        </list>
-      </item>
+      <item><p>There have been various improvements to GTK 4 on Windows, such 
+      as using GL for media playback and improveed drag and drop support.
+      </p></item>
+      <item><p>Emoji data has been updated to CLDR 39.</p></item>
     </list>
+    
+    <p>The <link href="https://blog.gtk.org/";>GTK development blog</link> 
+    includes more information about the GTK 
+    <link href="https://blog.gtk.org/2021/03/30/gtk-4-2-0/";>4.2</link> and
+    <link href="https://blog.gtk.org/2021/08/23/gtk-4-4/";>4.4</link> releases.
+    </p>
+    
   </section>
 
   <section id="libadwaita">
     <title>libadwaita</title>
 
-    <p><code>libadwaita</code> is the new GTK 4 companion library for GNOME. It
-    provides the default GNOME stylesheet, additional widgets, and convenience
-    functionality for developers creating apps for the GNOME platform.</p>
+    <p><link href="https://gnome.pages.gitlab.gnome.org/libadwaita/";>libadwaita</link>
+    is the new GTK 4 companion library for GNOME. It provides the default GNOME 
+    GTK stylesheet, additional widgets, and convenience functionality for 
+    developers creating GTK 4 apps for the GNOME platform. It is the successor 
+    to
+    <link href="https://gnome.pages.gitlab.gnome.org/libhandy/";>libhandy</link>,
+    which can be used in combination with GTK 3, though libadwaita has a much 
+    expanded role.</p>
 
     <p><code>libadwaita</code> has made steady progress during the GNOME 41
-    development cycle, with an initial 1.0 planned in the coming months.</p>
+    development cycle, with an initial 1.0 planned in the coming months. New 
+    developments during that time include:</p>
 
-    <p>A new base class for apps, <code>AdwApplication</code>, reduces
-    repetitive code and handles library initialization. Unread badges have been
-    added to view switchers. Window shadows have been improved. Additional style
-    options have been included, such as the <code>.flat</code> style for header
-    bars, the
-    <code>.numeric</code> style for tabular figures, and the <code>.pill</code>
-    button style.</p>
+    <list>
+      <item><p>There has been a substantial amount of API cleanup and code 
+      refactoring, as the library approaches its 1.0 release.</p></item>
+      <item><p>libadwaita's CSS stylesheet has seen a lot of work, with a major
+      refactoring and general style updates. Work has also been done to support
+      recoloring; this will facilitate dark mode as well as allowing apps to
+      recolor their UIs.</p></item>
+      <item><p>A new base class for apps has been added. Called
+      <code>AdwApplication</code>, this reduces repetitive code and handles 
+      library initialization.</p></item>
+      <item><p>Unread badges have been added to view switchers.</p></item>
+      <item><p>Windows now have softer, better-looking shadows.</p></item>
+      <item><p>Additional style options have been included, such as the 
+      <code>.flat</code> style for header <code>.numeric</code> style for
+      tabular figures, and the <code>.pill</code> button style.</p></item>
+      <item><p><link href="https://gnome.pages.gitlab.gnome.org/libadwaita/doc/";>API documentation</link>
+      is now generated with gi-docgen.</p></item>
+    </list>
 
     <p>Documentation on how to use each of the options provided by
-    <code>libadwaita</code>
-    will be included in the Human Interface Guidelines, coinciding with the
-    <code>libadwaita</code> 1.0 release.</p>
+    <code>libadwaita</code> will be included in the Human Interface Guidelines,
+    to coincide with the <code>libadwaita</code> 1.0 release.</p>
   </section>
 
   <section id="gjs">
     <title>GJS</title>
 
-    <p>GJS, the project providing JavaScript bindings for the GNOME platform,
-    boasts a number of improvements in GNOME 41:</p>
+    <p><link href="https://gjs.guide/";>GJS</link>, the project providing 
+    JavaScript bindings for the GNOME platform, boasts a number of improvements
+    in GNOME 41:</p>
 
     <list>
-      <item><p>The memory usage has been reduced by 40 bytes per
+      <item><p>Memory usage has been reduced by approximately 40 bytes per 
       GObject.</p></item>
       <item><p>The <code>TextEncoder</code> and <code>TextDecoder</code> global
       objects have been added, which replace the older
@@ -211,8 +248,8 @@
   <section id="gtk-rs">
     <title>gtk-rs</title>
 
-    <p>Rust support for the GNOME platform has made significant progress since
-    GNOME 40:</p>
+    <p><link href="https://gtk-rs.org/";>Rust support for the GNOME platform
+    </link> has made significant progress since GNOME 40:</p>
 
     <list>
       <item><p>Bindings are now provided for GTK 4 and associated


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]