{"id":33237,"date":"2019-10-31T21:51:29","date_gmt":"2019-10-31T18:51:29","guid":{"rendered":"https:\/\/prohoster.info\/blog\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4\/"},"modified":"2019-10-31T21:51:29","modified_gmt":"2019-10-31T18:51:29","slug":"opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4","title":{"rendered":"Publicada a vers\u00e3o GTK 3.96, lan\u00e7amento experimental do GTK 4","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s 10 meses desde <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48853\">o anterior<\/a><\/noindex> lan\u00e7amento de teste <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.gtk.org\/2019\/05\/08\/gtk-3-96-0\/\">apresentado<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/GNOME\/gtk\/releases\/tag\/3.96.0\">GTK 3.96<\/a><\/noindex>, um novo lan\u00e7amento experimental da futura vers\u00e3o est\u00e1vel do GTK 4. O ramo GTK 4 est\u00e1 sendo desenvolvido em um novo processo que visa fornecer aos desenvolvedores de aplicativos uma API est\u00e1vel e suportada por v\u00e1rios anos, que pode ser usada sem o temor de que a cada seis meses ser\u00e1 necess\u00e1rio refazer o aplicativo devido a altera\u00e7\u00f5es na API em um novo ramo do GTK. At\u00e9 a completa estabiliza\u00e7\u00e3o do GTK 4, recomenda-se que os aplicativos oferecidos aos usu\u00e1rios continuem a ser compilados usando o ramo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48834\">GTK 3.24<\/a><\/noindex>.<\/p>\n<p>Principais <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/GNOME\/gtk\/blob\/master\/NEWS\">mudan\u00e7as<\/a><\/noindex> no GTK 3.96: <\/p>\n<ul>\n<li class=\"l\"> Na API <noindex>GSK<\/noindex> (GTK Scene Kit), que realiza a renderiza\u00e7\u00e3o de cenas gr\u00e1ficas atrav\u00e9s do OpenGL e Vulkan, agora conta com um novo depurador gtk4-node-editor que tornou mais f\u00e1cil identificar erros, permitindo carregar e exibir n\u00f3s de renderiza\u00e7\u00e3o em formato serializado (que pode ser salvo em modo de inspe\u00e7\u00e3o no GTK inspector), al\u00e9m de comparar o resultado de renderiza\u00e7\u00e3o utilizando diferentes backends;\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.gtk.org\/files\/2019\/05\/Screenshot-from-2019-05-06-20-43-31.png\"><img decoding=\"async\" alt=\"Publicada a vers\u00e3o GTK 3.96, lan\u00e7amento experimental do GTK 4 \" src=\"\/wp-content\/uploads\/2019\/05\/a6564ad90400ad590436abf3fc0d9b30.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<li class=\"l\"> As capacidades de transforma\u00e7\u00e3o 3D foram elevadas a um n\u00edvel que permite criar efeitos de anima\u00e7\u00e3o, como um cubo girat\u00f3rio;\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.gtk.org\/files\/2019\/05\/Screenshot-from-2019-05-06-21-15-18.png\"><img decoding=\"async\" alt=\"Publicada a vers\u00e3o GTK 3.96, lan\u00e7amento experimental do GTK 4 \" src=\"\/wp-content\/uploads\/2019\/05\/352bbec750ffa5302da6b098800641d3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<li class=\"l\"> Totalmente <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50419\">foi reescrito<\/a><\/noindex> O backend GDK Broadway, destinado a renderizar a sa\u00edda da biblioteca GTK em uma janela do navegador web. A implementa\u00e7\u00e3o anterior do Broadway n\u00e3o se encaixava nos m\u00e9todos de renderiza\u00e7\u00e3o propostos no GTK 4 (em vez de sa\u00edda em buffer, agora utiliza-se um modelo baseado em n\u00f3s de renderiza\u00e7\u00e3o, onde a sa\u00edda \u00e9 composta na forma de uma \u00e1rvore de opera\u00e7\u00f5es de alto n\u00edvel, processadas de forma eficiente pela GPU utilizando OpenGL e Vulkan).<br \/>\nA nova variante do Broadway transforma n\u00f3s de renderiza\u00e7\u00e3o em n\u00f3s DOM com estilos CSS para a apresenta\u00e7\u00e3o da interface no navegador. Cada novo estado de tela \u00e9 tratado como uma altera\u00e7\u00e3o na \u00e1rvore DOM em rela\u00e7\u00e3o ao estado anterior, o que permite reduzir o tamanho dos dados transmitidos para o cliente remoto. As transforma\u00e7\u00f5es 3D e os efeitos gr\u00e1ficos s\u00e3o implementados atrav\u00e9s da propriedade CSS transform;<\/p>\n<li class=\"l\"> No GDK, continuou-se a implementa\u00e7\u00e3o de APIs desenvolvidas com foco no uso do protocolo Wayland, al\u00e9m da limpeza das APIs ligadas ao X11, ou seu deslocamento para um backend X11 separado. H\u00e1 progresso na execu\u00e7\u00e3o de tarefas para eliminar superf\u00edcies filhas e coordenadas globais. O suporte ao GDK_SURFACE_SUBSURFACE foi removido do GDK;\n<li class=\"l\">  O refatoramento do c\u00f3digo relacionado \u00e0 realiza\u00e7\u00e3o de opera\u00e7\u00f5es de Drag-and-Drop foi continuado, incluindo a proposta de objetos separados GdkDrag e GdkDrop;\n<li class=\"l\"> O processamento de eventos foi simplificado, agora usado apenas para entrada. Os outros eventos foram substitu\u00eddos por sinais separados, por exemplo, em vez dos eventos de sa\u00edda, foi proposto o sinal &#171;GdkSurface::render&#187;, em vez dos eventos de configura\u00e7\u00e3o &#8212; &#171;GdkSurface::size-changed&#187;, em vez dos eventos de mapeamento &#8212; &#171;GdkSurface::mapped&#187;, e em vez de gdk_event_handler_set() &#8212; &#171;GdkSurface::event&#187;;\n<li class=\"l\"> Suporte para a interface portal de acesso \u00e0s configura\u00e7\u00f5es GtkSettings foi adicionado ao backend GDK para Wayland. Para trabalhar com m\u00e9todos de entrada, foi proposta a extens\u00e3o do protocolo text-input-unstable-v3;\n<li class=\"l\"> Um novo objeto GtkLayoutManager foi apresentado para o desenvolvimento de widgets, implementando um sistema de gerenciamento de layout de elementos baseado na divis\u00e3o da \u00e1rea vis\u00edvel. O GtkLayoutManager substituiu as propriedades filhas em cont\u00eaineres GTK, como GtkBox e GtkGrid. V\u00e1rios gerenciadores de layout prontos foram propostos: GtkBinLayout para cont\u00eaineres simples com um \u00fanico filho, GtkBoxLayout para filhos dispostos linearmente, GtkGridLayout para alinhar filhos em uma grade, GtkFixedLayout para posicionamento arbitr\u00e1rio de filhos, GtkCustomLayout para a tradu\u00e7\u00e3o de elementos tradicionais com base em manipuladores size_allocate;\n<li class=\"l\"> Widgets GtkAssistant, GtkStack e GtkNotebook agora incluem objetos publicamente acess\u00edveis para a sa\u00edda em p\u00e1ginas de filhos, onde foram transferidas propriedades filhas n\u00e3o relacionadas ao layout (Layout) desses widgets. Como todas as propriedades filhas existentes foram convertidas em propriedades normais, as propriedades de layout foram ou transferidas para objetos de p\u00e1gina, removendo completamente o suporte a propriedades filhas de GtkContainer;\n<li class=\"l\"> A funcionalidade b\u00e1sica do GtkEntry foi movida para o novo widget GtkText, que tamb\u00e9m inclui uma interface de edi\u00e7\u00e3o aprimorada GtkEditable. Todas as subclasses existentes de entradas de dados foram reestruturadas sob a forma de implementa\u00e7\u00f5es GtkEditable baseadas no novo widget GtkText;\n<li class=\"l\">   Um novo widget GtkPasswordEntry foi adicionado para formul\u00e1rios de entrada de senhas;\n<li class=\"l\"> Foi adicionada a capacidade em GtkWidgets de transformar elementos filhos usando m\u00e9todos de transforma\u00e7\u00e3o linear, definidos por CSS ou pelo argumento gtk_widget_allocate em GskTransform. Essa funcionalidade j\u00e1 foi aplicada no widget GtkFixed;\n<li class=\"l\"> Novos modelos de listas foram adicionados: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel e GtkSingleSelection. Futuramente, est\u00e1 previsto adicionar suporte a modelos de lista no GtkListView;\n<li class=\"l\"> No GtkBuilder, foi adicionada a possibilidade de definir propriedades de objetos inline, em vez de usar refer\u00eancias por identificador;\n<li class=\"l\">  No gtk4-builder-tool, foi adicionada uma comando para converter arquivos UI do GTK 3 para o GTK 4;\n<li class=\"l\"> O suporte para temas de design principais (key theme), menus tabulares (tabular menu) e blocos combinados (combo box) foi interrompido. O widget GtkInvisible foi removido.\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50648\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043f\u0443\u0441\u0442\u044f 10 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d GTK 3.96, \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 GTK 4. \u0412\u0435\u0442\u043a\u0430 GTK 4 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043b\u0435\u0442 API, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u043e\u043f\u0430\u0441\u0430\u044f\u0441\u044c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0437-\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f API [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24973,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-33237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043f\u0443\u0441\u0442\u044f 10 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d GTK 3.96, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a GTK 4 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043f\u0443\u0441\u0442\u044f 10 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:51:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:51:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Publicado GTK 3.96, lan\u00e7amento experimental do GTK 4 | ProHoster","description":"Ap\u00f3s 10 meses desde o \u00faltimo lan\u00e7amento de teste","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d GTK 3.96, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a GTK 4 | ProHoster","og:description":"\u0421\u043f\u0443\u0441\u0442\u044f 10 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/opublikovan-gtk-3-96-eksperimentalnyj-vypusk-gtk-4","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:51:29+00:00","article:modified_time":"2019-10-31T18:51:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33237","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:27:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:44:42","updated":"2026-01-21 14:27:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=33237"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33237\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/24973"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=33237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=33237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=33237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}