[release-notes] Refine developers.page
- From: Allan Day <allanday src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [release-notes] Refine developers.page
- Date: Wed, 8 Sep 2021 14:57:04 +0000 (UTC)
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]