Merge branch 'master' of https://github.com/LCTT/TranslateProject into translating

This commit is contained in:
geekpi 2022-06-07 08:44:13 +08:00
commit 15621fadd9
10 changed files with 1034 additions and 95 deletions

View File

@ -1,57 +1,52 @@
[#]: collector: (lujun9972)
[#]: translator: (hanszhao80)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-14679-1.html)
[#]: subject: (Manage your budget on Linux with this open source finance tool)
[#]: via: (https://opensource.com/article/21/2/linux-skrooge)
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
使用这款 Linux 开源财务工具管理你的预算
使用 Linux 上的开源财务工具 Skrooge 管理你的预算
======
使用开源预算工具 Skrooge 让你的财务管理更加轻松。
![2 cents penny money currency][1]
> 使用开源预算工具 Skrooge 让你的财务管理更加轻松。
![](https://img.linux.net.cn/data/attachment/album/202206/06/115449f0uy9guxxokj0umo.jpg)
2021 年,人们喜欢 Linux 的理由比以往任何时候都多。在本系列中,我将分享使用 Linux 的 21 个不同理由。本篇介绍的是个人财务管理。
个人财务可能很难管理。当你没有足够的钱在没有经济援助的情况下度日时,这可能是令人沮丧甚至不安的,而当你确实有所需的钱却又不清楚每个月的去向时,这可能会令人惊讶地难以接受。更糟糕的是,我们经常被告知要“制定预算”,好像申报你每个月的花销就能在某种程度上证明你需要多少钱。底线是:制定预算是困难的,不满足你的财务目标是令人沮丧的。但这仍然很重要Linux 有几个工具可以帮助使任务变得可管理。
个人财务可能很难管理。当你没有足够的钱在没有经济援助的情况下度日时,这可能是令人沮丧甚至不安的,而当你确实有所需的钱却又不清楚每个月的去向时,这可能会令人惊讶地难以接受。更糟糕的是,我们经常被告知要“制定预算”,好像宣布你每个月的花销就能在某种程度上体现出你需要多少钱。底线是:制定预算是困难的,没有达到你的财务目标是令人沮丧的。但这仍然很重要Linux 有几个工具可以帮助使任务变得可管理。
### 理财
就像生活中的其他事情一样,我们都有自己的方法来跟踪我们的财务。我过去常常采取一种简单而直接的方法:我的薪水支票被存入一个账户,然后我会提取一定比例的现金。一旦我钱包里的钱没了,我就得等到下一个发薪日才能花钱。我只错过了一天的午餐,就明白了我必须认真对待我的目标,并相应地调整了我的消费行为。对于当时我的简单的生活方式来说,这是一种让我对自己的收入保持诚实的有效手段,但它并没有很好地转化为在线商业交易、长期公用事业合同、投资等等。
就像生活中的其他事情一样,我们都有自己的方法来跟踪我们的财务。我过去常常采取一种简单而直接的方法:我的薪水支票被存入一个账户,然后我会提取一定比例的现金。一旦我钱包里的钱没了,我就得等到下一个发薪日才能花钱。我用了一天没有午餐的时间,就明白了我必须认真对待我的目标,并相应地调整了我的消费行为。对于当时我的简单的生活方式来说,这是一种让我对自己的收入保持诚实的有效手段,但它并不能很好地转化为在线商业交易、长期公用事业合同、投资等等。
随着我不断完善我的财务跟踪方式,我了解到个人会计始终是一个不断发展的过程。我们每个人都有独特的财务状况,这告诉我们可以或应该使用什么样的解决方案来跟踪我们的收入和债务。如果你失业了,那么你的预算目标可能是尽可能少花钱。如果你在工作,但在还学生贷款,那么你的目标可能是向银行汇款。如果你在工作,但计划退休,那么你可能会尽可能多地存钱。
关于预算,要记住的一点是,它意味着将你的财务现实与你的财务 _目标_ 进行比较。你无法避免一些费用,但在这些之后,你可以设定自己的优先事项。如果你没有达到你的目标,你可以调整自己的行为或改写你的目标,使其更好地反映现实。调整你的财务计划并不意味着你失败了这只是意味着你最初的预测并不准确。在困难时期,你可能无法达到任何预算目标,但如果你坚持你的预算,你会学到很多关于维持你目前的生活方式(无论它可能是什么)所需要的财务手段。随着时间的推移,你可以学习调整你可能从未意识到的设置。例如,由于远程工作已成为一种被广泛接受的选择,人们正在搬到农村城镇以降低生活成本。看到这种生活方式的转变如何改变你的预算报告,真是令人震惊。
关于预算,要记住的一点是,它是为了将你的财务现实与你的财务 _目标_ 进行比较。你无法避免一些开支,但在这些之后,你可以设定自己的优先事项。如果你没有达到你的目标,你可以调整自己的行为或改写你的目标,使其更好地反映现实。调整你的财务计划并不意味着你失败了这只是意味着你最初的预测并不准确。在困难时期,你可能无法达到任何预算目标,但如果你坚持你的预算,你会学到很多关于维持你目前的生活方式(无论它是什么)所需要的财务手段。随着时间的推移,你可以学习调整你可能从未意识到的变化。例如,由于远程工作已成为一种被广泛接受的选择,人们正在搬到农村城镇以降低生活成本。看到这样一种生活方式的转变可以改变你的预算报告,真是令人震惊。
重点是,预算是一项经常被低估的活动,这在很大程度上是因为它令人生畏。重要的是要认识到,无论你的专业水平或对财务的兴趣如何,你都可以进行预算。无论你 [只使用 LibreOffice 电子表格][2],还是尝试专用的财务应用程序,你都可以设定目标,跟踪自己的行为,并学到许多宝贵的经验教训,这些经验教训最终可能会带来回报。
重点是,预算编制是一项经常被低估的活动,这在很大程度上是因为它令人生畏。重要的是要认识到,无论你的专业水平或对财务的兴趣如何,你都可以进行预算。无论你 [只使用 LibreOffice 电子表格][2],还是尝试专用的财务应用程序,你都可以设定目标,跟踪自己的行为,并学到许多宝贵的经验教训,这些经验教训最终可能会带来回报。
### 开源会计
有几个专用于 [Linux 的个人理财应用程序][3],包括 [HomeBank][4], [Money Manager EX][5], [GNUCash][6], [KMyMoney][7], 和 [Skrooge][8]。所有这些应用程序本质上都是分类帐,你可以在每个月底(或每当你查看帐户时)退回到一个地方,从你的银行导入数据,并审查你的支出如何与你为自己设定的预算保持一致。
有几个专用于 [Linux 的个人理财应用程序][3],包括 [HomeBank][4]、[Money Manager EX][5]、[GNUCash][6]、[KMyMoney][7] 和 [Skrooge][8]。所有这些应用程序本质上都是账本,你可以在每个月底(或每当你查看帐户时)退回到一个地方,从你的银行导入数据,并审查你的支出如何与你为自己设定的预算保持一致。
![显示财务数据的 Skrooge 界面][9]
Skrooge
我使用 Skrooge 作为我的个人预算跟踪器。即便面对多个银行账户它也能轻松自如的设置。与大多数开源金融应用程序一样Skrooge 可以导入多种文件格式,因此我的工作流程大致如下:
1. 登录我的银行。
2. 将当月的银行对账单导出为 QIF 文件。
3. 打开 Skrooge。
4. 导入 QIF 文件。每个文件都会自动分配到相应的帐户。
5. 对照我为自己设定的预算目标检查我的支出。如果我已经超过了,那么我会停靠在下个月的目标(这样我就会理性地少花钱来弥补差额)。如果我尚未超出我的目标预算,那么我会把多余的部分移到 12 月的预算中(这样我在年底就会有更多的支出份额)。
5. 对照我为自己设定的预算目标审查我的支出。如果我超支了,那么我就会扣减下个月的目标(这样我就会理性地少花钱来弥补差额)。如果我尚未超出我的目标预算,那么我会把多余的部分移到 12 月的预算中(这样我在年底就会有更多的支出份额)。
在 Skrooge 里我只跟踪了家庭预算的一部分。Skrooge 通过一个动态数据库简化了这一过程,该数据库允许我使用自定义标签一次对多个事务进行分类。这使我可以轻松地从一般家庭和公用事业支出中提取我的个人支出,并且我可以在查看 Skrooge 提供的自动生成的报告时利用这些类别。
我只跟踪了 Skrooge 中的家庭预算的一部分。Skrooge 通过一个动态数据库简化了这一过程,该数据库允许我使用自定义标签一次对多个交易进行分类。这使我可以轻松地从一般家庭和公用事业支出中提取我的个人支出,并且我可以在查看 Skrooge 提供的自动生成的报告时利用这些类别。
![Skrooge 预算饼图][10]
Skrooge 预算饼图
最重要的是,流行的 Linux 财务应用程序使我能够以最适合我的方式管理我的预算。例如,我的合作伙伴更喜欢使用 LibreOffice 电子表格,但我毫不费力地从家庭预算中提取 CSV 文件,将其导入到 Skrooge并使用一组更新的数据集。不存在锁定和不兼容。该系统灵活敏捷使我们能够在更多地了解有效预算和生活中的情况时调整我们的预算和跟踪支出的方法。
最重要的是,流行的 Linux 财务应用程序使我能够以最适合我的方式管理我的预算。例如,我的合作伙伴更喜欢使用 LibreOffice 电子表格,但我只需要付出很少的努力就可以从家庭预算中提取 CSV 文件,将其导入到 Skrooge并使用一组更新的数据集。不存在供应商锁定和不兼容。该系统灵活敏捷使我们能够在更多地了解有效预算和生活中的情况时调整我们的预算和跟踪支出的方法。
### 开放选择
@ -59,7 +54,7 @@ Skrooge 预算饼图
在设定自己的财务目标时我很欣赏我可以使用最适合我个人计算风格的任何应用程序。我可以控制我在生活中如何处理数据即使是我不一定喜欢处理的数据。Linux 及其令人惊叹的应用程序集使它不再是一件苦差事。
在 Linux 上尝试一些财务应用程序,看看你是否可以激励自己设定一些目标并省钱吧!
在 Linux 上尝试一些财务应用程序,看看你是否可以激励自己设定一些目标并节省开支吧!
--------------------------------------------------------------------------------
@ -68,7 +63,7 @@ via: https://opensource.com/article/21/2/linux-skrooge
作者:[Seth Kenlon][a]
选题:[lujun9972][b]
译者:[hanszhao80](https://github.com/hanszhao80)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,73 @@
[#]: subject: "Linux Mint to Maintain Timeshift Backup Tool as an XApp"
[#]: via: "https://news.itsfoss.com/linux-mint-timeshift/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "hadisi1993"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14681-1.html"
Linux Mint 接管 Timeshift 备份工具的开发,并作为一款 XApp 来维护
======
> Linux Mint 接管了 Timeshift 备份/恢复工具的开发。你可以在它新的 GitHub 仓库中找到它。
![linux mint][1]
Timeshift 可以说是 [备份和恢复 Linux 系统的最佳工具][2]。
Linux Mint 也利用它帮助用户在系统更新时更方便地创建快照,确保快捷无碍的操作。
当然,这不是 [Linux Mint 可能比 Ubuntu 更好的唯一原因][3]。
不幸的是Timeshift 背后的开发者([Tony George][4])计划把注意力集中在其他项目上,将不再继续维护这个项目。
Linux Mint 团队联系了这位开发者,并愿意为这个项目提供任何可能的帮助。最终,它们接管了 Timeshift 的开发。
所以,现在 Linux Mint 团队会对 Timeshift 的发布和修复,以及任何与之相关的开发工作负责。
### 将 Timeshift 调整成 XApp
![][5]
Linux Mint 倾向于将某些应用作为“XApp”来维护以确保它们能在各种不同的桌面环境下工作不会依赖于某个特殊的桌面。
考虑到他们计划将 Timeshift 调整成一个XApp你可以期待该工具在很长一段时间内维持当前的外观和功能而不用顾虑你的桌面环境是什么。
不像一些 GNOME 应用程序,为了获得最好的体验,它们通常会变成 GNOME 专用的应用程序。
Timeshift 是一个必不可少的备份/恢复工具。所以Linux Mint 接管 Timeshift 的开发并作为一个 XApp 来维护的计划听上去相当完美!
如果你想知道的话那不妨告诉你Timeshift 的迁移已经在 [Launchpad][6] 上完成了。
新的 [GitHub仓库][7](由 Linux Mint 复刻的)可以给你提供这个应用的更多细节以及它最近的开发活动。
你也可以在 [最近每月发布的博文][8] 中查阅官方对此的声明。
### 结语
作为 Timeshift 的维护者Linux Mint 希望在不久的将来带来更多的新特性和改进。
你如何看待 Linux Mint 将 Timeshift 接管为一款 XApp欢迎在下方的评论区内分享你的想法。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/linux-mint-timeshift/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[hadisi1993](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/linux-mint-time-shift.jpg
[2]: https://itsfoss.com/backup-restore-linux-timeshift/
[3]: https://itsfoss.com/linux-mint-vs-ubuntu/
[4]: https://teejeetech.com/
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/timeshiftlinux-mint.png
[6]: https://github.com/linuxmint/timeshift
[7]: https://github.com/linuxmint/timeshift
[8]: https://blog.linuxmint.com/?p=4323

View File

@ -1,72 +0,0 @@
[#]: subject: "Linux Mint to Maintain Timeshift Backup Tool as an XApp"
[#]: via: "https://news.itsfoss.com/linux-mint-timeshift/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "hadisi1993"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Linux Mint to Maintain Timeshift Backup Tool as an XApp
======
Linux Mint takes over the development of Timeshift backup/restore tool. You can now find it in its new GitHub repository.
![linux mint][1]
Timeshift is arguably the [best tool to back up and restore the Linux system][2].
Linux Mint also utilizes the tool to let users easily take snapshots before updates, and ensure hassle-free operation.
Of course, thats not the only thing that makes [Linux Mint potentially better than Ubuntu][3].
Unfortunately, the developer ([Tony George][4]) behind Timeshift can no longer maintain the project. The developer plans to focus on other projects instead.
The Linux Mint team reached out to the developer to help the project in any capacity. And, they finalized to take over the development of Timeshift.
So, now, the Linux Mint team will be responsible for new releases/fixes, and any development activity associated with Timeshift.
### Adopting Timeshift as an XApp
![][5]
Linux Mint tends to maintain certain applications as an “XApp” to make sure that they work on various desktop environments and are not dependent on a particular desktop.
Considering that they plan to adopt Timeshift as an XApp, you can expect the tool to continue offering the current look/functionality for a long time, irrespective of your desktop environment.
Unlike some GNOME apps, which are usually turning into GNOME-only applications for the best experience.
Timeshift is an essential backup/restore tool. So, Linux Mint taking over the development and maintaining it as an XApp sounds perfect!
The translations for Timeshift are now done on [Launchpad][6], if you are curious.
The [new GitHub repository][7] (forked by Linux Mint) can give you more details about the application and its latest development activity.
You can also check out the official announcement for this in the [recent monthly blog post][8].
### Wrapping Up
With Linux Mint as the maintainer of Timeshift, we could hope for more feature additions and improvements in the near future.
What do you think about Linux Mint taking over the development of Timeshift as an XApp? You are welcome to share your thoughts on it in the comments below.
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/linux-mint-timeshift/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/linux-mint-time-shift.jpg
[2]: https://itsfoss.com/backup-restore-linux-timeshift/
[3]: https://itsfoss.com/linux-mint-vs-ubuntu/
[4]: https://teejeetech.com/
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/timeshiftlinux-mint.png
[6]: https://github.com/linuxmint/timeshift
[7]: https://github.com/linuxmint/timeshift
[8]: https://blog.linuxmint.com/?p=4323

View File

@ -0,0 +1,48 @@
[#]: subject: "Contribute at the Fedora Linux 37 Test Week for Kernel 5.18"
[#]: via: "https://fedoramagazine.org/contribute-at-the-fedora-linux-37-test-week-for-kernel-5-18/"
[#]: author: "Sumantro Mukherjee https://fedoramagazine.org/author/sumantrom/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Contribute at the Fedora Linux 37 Test Week for Kernel 5.18
======
![][1]
The kernel team is working on final integration for Linux kernel 5.18. This version was just recently released, and will arrive soon in Fedora. As a result, the Fedora kernel and QA teams have organized a test week now through **Sunday, June 12, 2022.** Refer to the [wiki][2][page][3] for links to the test images youll need to participate. Read below for details.
### How does a test week work?
A test week is an event where anyone can help make sure changes in Fedora work well in an upcoming release. Fedora community members often participate, and the public is welcome at these events. If youve never contributed before, this is a perfect way to get started.
To contribute, you only need to be able to do the following things:
* Download test materials, which include some large files
* Read and follow directions step by step
The [wiki page][4] for the kernel test day has a lot of good information on what and how to test. After youve done some testing, you can log your results in the test day [web][5][application][6]. If youre available on or around the day of the event, please do some testing and report your results. We have a document which provides [all the steps][7] written.
Happy testing, and we hope to see you on test day.
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/contribute-at-the-fedora-linux-37-test-week-for-kernel-5-18/
作者:[Sumantro Mukherjee][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/sumantrom/
[b]: https://github.com/lkxed
[1]: https://fedoramagazine.org/wp-content/uploads/2022/06/test-days-816x345.jpg
[2]: http://fedoraproject.org/wiki/Test_Day:2022-06-05_Kernel_5.18_Test_Week
[3]: http://fedoraproject.org/wiki/Test_Day:2022-06-05_Kernel_5.18_Test_Week
[4]: http://fedoraproject.org/wiki/Test_Day:2022-06-05_Kernel_5.18_Test_Week
[5]: https://testdays.fedoraproject.org/events/136
[6]: https://testdays.fedoraproject.org/events/136
[7]: https://docs.fedoraproject.org/en-US/quick-docs/kernel/howto-kernel-testday/

View File

@ -0,0 +1,69 @@
[#]: subject: "Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative"
[#]: via: "https://news.itsfoss.com/internxt-photos/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative
======
Internxt is already an interesting cloud storage service. It also has a Photos feature that can be a replacement to Google Photos for some.
![internxt photos][1]
Internxt is an open-source encrypted cloud service with a native Linux client. Our [older article][2] explaining its cloud storage service can be an interesting read if you did not know about it.
Initially, we focused on their cloud storage offering. And, it seems like we missed out on another product “Photos” that was unveiled by them last month in a tweet.
[Internxt Photos][3] pitches itself as an open-source Google Photo alternative with privacy and security in mind.
*The post includes an affiliate link for Internxt. If you get a subscription through our link, we get a commission, and you get to support us at no extra cost to you.*
### Internxt Photos with Zero-Knowledge Encryption
![][4]
Internxt Photos claims that it puts privacy and security at its core compared to some competitors in the industry.
While respecting user privacy, they also try to offer the basic features that help you easily organize the photos you upload to the service.
Note that the Photos service is included with the cloud storage subscription. Unlike Googles offering, there are no separate pricing plans for just storing the Photos.
Likewise, you need to rely on the same Internxt app to access your Photo gallery.
You should not have anything to worry about considering the Internxt app is available on the Google Play Store, and the App Store as well.
The photos you upload to the gallery get synced across multiple devices. So, even if you do not have access to one of your devices, it should not be a problem.
![][5]
The look of the photo gallery seems inspired by Apples Photos app, but thats a good approach for simplicity and usability. The Photos also provide you the ability to share photos with your friends and family using a link. You can also customize the link to tweak the open limit to control access to your shared links.
Considering it as an open-source encrypted alternative with a primary cloud storage offering to mainstream Photo storage services, does this sound like something interesting to you?
You can get started using our link to the product page to explore more about it and get started. The [GitHub page][6] can also be useful if youre curious.
[Internxt Photos][7]
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/internxt-photos/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/internxt-photos.jpg
[2]: https://itsfoss.com/internxt-cloud-service/
[3]: https://itsfoss.com/go/internxt-photos/
[4]: https://news.itsfoss.com/wp-content/uploads/2022/06/internxt-gallery.jpg
[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/mobile-photos-share-mockup-506x1024.webp
[6]: https://github.com/internxt
[7]: https://itsfoss.com/go/internxt-photos/

View File

@ -1,5 +1,5 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (duoluoxiaosheng )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -0,0 +1,249 @@
[#]: subject: "10 Best Ubuntu Apps for Everyone in 2022 [Part 2]"
[#]: via: "https://www.debugpoint.com/2022/06/best-ubuntu-apps-2022-part2/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
10 Best Ubuntu Apps for Everyone in 2022 [Part 2]
======
This article lists the top 10 best Ubuntu apps for different use cases in 2022.
If you plan to migrate to Linux permanently, you should be happy knowing that there are thousands of applications that can compete with commercial or paid applications. Also, if you are a Windows user and using Linux first time, then you may not hear of those apps.
Hence, in this article series, we are highlighting a set of Ubuntu apps at a time to increase collaboration and awareness among the user base.
This is part 2 of the Ubuntu Apps series.
### Best Ubuntu Apps in 2022 Part 2
#### 1. OBS Studio
The first application is the famous [streaming application][1] OBS Studio. It is a free and open-source application primarily used for streaming over the internet. In addition, using this application, you can create a complex streaming project using multiple sources, overlay banners and more.
Furthermore, thanks to its support of “Real-Time Messaging Protocol” (RTMP), you can use this app to stream on Facebook, YouTube, Twitch and another supported platform.
This decade-old application is one of the best apps for Linux.
![OBS Studio][2]
You can learn more about OBS Studio here at the [official home page][3] and download or install it via the below methods.
Via PPA in Ubuntu and related distribution:
```
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio
```
If you wish for Flatpak, then [setup your system for Flatpak][4] and [install via this page][5].
For Arch Linux and others, [visit this page for more information.][6]
#### 2. Inkscape
The second application in this is the popular Inkscape application. Inkscape is a free and cross-platform vector graphics editor. It is primarily used to create scalable vector graphics. In addition, it is a world-class application which uses basic vector shapes such as rectangles, polygons, spirals and more. You can create world-class drawings using these primitive shapes and their additional tools (see below).
Furthermore, you can also create [stunning animations][7] using Inkscape with sufficient skills. It is one of the must-have applications for artists.
![Sample Image credit-Inkscape][8]
![Inkscape][9]
You can learn more about Inkscape here at the [official home page][10] and download or install it via the below methods.
Via PPA in Ubuntu and other Linux distributions:
```
sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt update
sudo apt install inkscape
```
For other download methods, visit [this page][11].
#### 3. GIMP
The GIMP aka GNU Image Manipulation Program is a raster graphics editor which is sometimes considered a debatable-[Photoshop alternative][12] in the Linux world. In addition, this two-decade-old application is perfect for basic to advanced image editing. Moreover, it supports layers, filters, decorations, and other advanced image editing features essential for a photography workflow.
![GIMP Image Editor][13]
A great way to learn more about GIMP is at the [official home page][14]and download or install via the below methods.
The recommended way is Flatpak to get the latest GIMP version. You can set up[your system][15] for Flatpak and [click here to install][16].
For more download options, visit [this page][17].
#### 4. Spotify
Spotify is a proprietary audio streaming and media services provider. It is one of the most extensive music streaming services, with over 400+ million monthly users.
Firstly, to access the Spotify streaming service, you need a client. Secondly, If you are a mobile user, you can use the Spotify app from Google Play Store or Apple App Store.
You can listen to millions of songs on your Linux desktop by installing the desktop client. For Linux distributions, you can install the Spotify client from various sources.
![Spotify Client in Ubuntu][18]
The recommended method for Ubuntu and other Linux is using the Snap package. You can install it via the below command.
```
snap install spotify
```
If you prefer the native deb package, you can install it using the below commands.
```
curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add -echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
```
There is also an unofficial [Flatpak package available][19], which you can take advantage of.
#### 5. SimpleScreen recorder
The simplescreenrecorder is perhaps the best open-source screen recorder available. This application is straightforward to use and loaded with features. In addition, its unique 3-step approach to recording the screen which requires no learning at all. Moreover, you can select the entire screen, a window or a custom shape to record the screen.
Furthermore, you can also specify the auto/video bit rate, audio source options and different output options. Finally, it is available to install in all Linux distributions.
![SimpleScreenRecorder][20]
The [official home page][21] contains more details about SimpleScreenRecorder, and you can download it using the below methods.
Using the PPA commands below, you can install this application in Ubuntu and other related distributions.
```
sudo apt-get updatesudo apt-get install simplescreenrecorder
```
For additional download instructions, visit [this page][22].
#### 6. Calibre
Calibre is a free and open-source e-book library management application available in Ubuntu, Linux Mint and other Linux platforms. It brings library management, e-book conversion, sync to your e-book devices and more unique features. Moreover, you can download news and other articles from the web and convert them to e-book formats using Calibre. In addition, it supports a wide range of e-book formats for management. Calibre is one of the best e-book management applications with all these features.
![Calibre][23]
A lot of documentation and tutorials are available on the [home page of Calibre][24], and you can download them using the below means.
* [Download for Linux distributions][25]
* [Download for other operating systems][26]
#### 7. Scribus
Desktop publishing changed over the years. Today, there are several applications and web-based services available for desktop publishing. Scribus is one of the early free and open-source desktop publishing applications available for Linux distributions and other operating systems. In addition, it is based on Qt and brings an appealing user interface which you can learn in no time. Furthermore, it can be used by beginners to professionals to create stunning DTP pages.
And it is still in active development.
![Scribus][27]
You can learn more about Scribus here at the [official home page][28] and download or install it via the below methods.
Scribus is in the main repo for Ubuntu and other related distributions. You can run the below command to install.
```
sudo apt install scribus
```
For other download options, visit [this page][29].
#### 8. MyPaint
The eighth application in this is MyPaint. MyPaint is a free and open-source drawing program for digital artists. MyPaint supports and can be used in pressure-sensitive tablets and devices. In addition, its unique distraction-free design lets you focus on the drawing instead of the application. Furthermore, it brings a real pencil and brushes emulation with a wide range of brushes, colours and layers.
![MyPaint 2.0.1][30]
For more information, visit the [official homepage][31] of MyPaint and download using the below methods.
The recommended install method is Flatpak. You can set up your [system for Flatpak][32] and install it by [clicking here][33].
For other download options, visit [this page][34].
#### 9. LibreOffice
If any professional Office suite comes close to the market leader Microsoft Office is the Document Foundations LibreOffice. It is the default Office suite for all Linux Distributions. It comes with a spreadsheet program (Calc), word processor (Writer), presentation (Impress) and Draw (for drawing). Moreover, it also brings a database system LibreOffice Base and Math to prepare mathematical formulas.
In addition to that, LibreOffice features two editions. Firstly, the community edition is for the community and general uses and comes with the latest features and updates. The second edition is for business, and its called the enterprise edition. The enterprise edition is more stable and perfect for professional work.
LibreOffice office suite is installed by default in Ubuntu.
![LibreOffice 7.3.x Community Edition in Ubuntu 22.04 LTS Jammy Jellyfish][35]
[LibreOffices official documentation][36] is vast, and you can go through them through any means, including its [friendly forum][37]. You can download LibreOffice [from here][38].
Also, if you are planning to upgrade LibreOffice, you can [visit our guide here][39].
#### 10. Cawbird
If you are a heavy Twitter user, you may consider a desktop app. Cawbird is a desktop Twitter client for Linux distributions. Fork of the prior Corebird app (discontinued), Cawbird brings inline image, video preview, list support, etc. In addition, it can do a full-text search on Twitter and support multiple Twitter accounts.
However, due to Twitter API limitations, it refreshes every two minutes and several other restrictions such as no notification for follows, unfollows, block, mute and other features. Twitter imposed these limitations.
![Cawbird][40]
Finally, you can download the Cawbird for all Linux distributions using the [link present here][41].
### Closing Notes
This concludes part 2 of a 5-part series of best Ubuntu Apps in 2022. I expect you get to install and use some of these applications in Ubuntu and other distros for your daily work. Also, let me know which apps you prefer from this list in the comment box below.
Finally, stay tuned for part 3 of this Ubuntu apps series. If you missed part 1, you could read it here “[Essential Ubuntu Apps in 2022 Part 1][42]“.
Cheers.
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/2022/06/best-ubuntu-apps-2022-part2/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://www.debugpoint.com/2022/02/live-streaming-applications-linux-2022/
[2]: https://www.debugpoint.com/wp-content/uploads/2022/06/OBS-Studio.jpg
[3]: https://obsproject.com/
[4]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[5]: https://flathub.org/apps/details/com.obsproject.Studio
[6]: https://obsproject.com/wiki/unofficial-linux-builds
[7]: https://inkscape.org/gallery/
[8]: https://www.debugpoint.com/wp-content/uploads/2022/06/Sample-Image-credit-Inkscape.jpg
[9]: https://www.debugpoint.com/wp-content/uploads/2018/09/Inkscape-Running.png
[10]: https://inkscape.org/
[11]: https://inkscape.org/release/
[12]: https://www.debugpoint.com/2018/09/3-best-free-photoshop-alternatives-ubuntu-linux/
[13]: https://www.debugpoint.com/wp-content/uploads/2018/09/GIMP-Running.png
[14]: https://www.gimp.org/
[15]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[16]: https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
[17]: https://www.gimp.org/downloads/
[18]: https://www.debugpoint.com/wp-content/uploads/2022/06/Spotify-Client-in-Ubuntu.jpg
[19]: https://flathub.org/apps/details/com.spotify.Client
[20]: https://www.debugpoint.com/wp-content/uploads/2022/06/SimpleScreenRecorder.jpg
[21]: https://www.maartenbaert.be/simplescreenrecorder/
[22]: https://www.maartenbaert.be/simplescreenrecorder/#download
[23]: https://www.debugpoint.com/wp-content/uploads/2019/11/Calibre.png
[24]: https://calibre-ebook.com/
[25]: https://calibre-ebook.com/download_linux
[26]: https://calibre-ebook.com/download
[27]: https://www.debugpoint.com/wp-content/uploads/2022/06/Scribus.jpg
[28]: https://www.scribus.net/
[29]: https://www.scribus.net/downloads/stable-branch/
[30]: https://www.debugpoint.com/wp-content/uploads/2020/05/MyPaint-2.0.1.png
[31]: http://mypaint.org/
[32]: https://www.debugpoint.com/2018/07/how-to-install-flatpak-apps-ubuntu-linux/
[33]: https://flathub.org/repo/appstream/org.mypaint.MyPaint.flatpakref
[34]: http://mypaint.org/downloads/
[35]: https://www.debugpoint.com/wp-content/uploads/2019/09/LibreOffice-7.3.x-Community-Edition-in-Ubuntu-22.04-LTS-Jammy-Jellyfish.jpg
[36]: https://help.libreoffice.org/latest/index.html
[37]: https://ask.libreoffice.org/
[38]: https://www.libreoffice.org/download/download/
[39]: https://www.debugpoint.com/2022/06/libreoffice-upgrade-update-latest/
[40]: https://www.debugpoint.com/wp-content/uploads/2022/06/Cawbird.jpg
[41]: https://software.opensuse.org//download.html?project=home%3AIBBoard%3Acawbird&package=cawbird
[42]: https://www.debugpoint.com/2022/05/essential-ubuntu-apps-2022-part-1/

View File

@ -0,0 +1,85 @@
[#]: subject: "6 Linux word processors you need to try"
[#]: via: "https://opensource.com/article/22/6/word-processors-linux"
[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
6 Linux word processors you need to try
======
Check out one of my favorite open source word processors to put your ideas to paper.
![Typewriter with hands][1]
Image by: rawpixel.com. CC0.
Writers are always looking for better ways to put their words and ideas into readable formats to share with their readers. My first experiences with word processing came in my Apple II days when I used AppleWorks and later FrEDWriter, which was a free word processing application created in 1985. It was the standard for my students, many of whom came from households that lacked the money to purchase proprietary software.
### Abiword
When I made the switch to Linux in the late 1990's, I was looking for high quality writing software that I could use and recommend to students who chose to follow my lead in the world of open source software. The first word processor I became familiar with was [AbiWord][2]. The name AbiWord is derived from the Spanish word, abierto, which means open. It was Initially released in 1998 and it has been under continuous development. It is licensed as GPLv2. It supports basic word processing such as lists, indents and character formats. It supports a variety of import and export file formats including `.doc`, `.html`, `.docx`, and `.odt`.
![Image of Abiword][3]
### Etherpad
[Etherpad][4] is an open source group editing project. It allows you to edit documents in real time much like Google Drive. The main difference is that it is entirely open source. According to their website you can, "write articles, press releases, to-do lists, together with your friends, fellow students or colleagues, all working on the same document at the same time." The source code is readily available to look at. Etherpad is licensed as Apache 2.0. You can use Etherpad in the cloud or download and [install][5] it on your own Linux computer.
### Cryptpad
[CryptPad][6] is a collaboration suite that is end-to-end encrypted. It is licensed with GPLv3 and its source code is available on [GitHub][7]. It was developed by [Xwiki][8] Labs. It is an alternative to Google Drive and is self hosted. According to their website, "CryptPad is built to enable collaboration. It synchronizes changes to documents in real time. Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.” Cryptpad offers extensive [documentation][9] for users.
### Focuswriter
[FocusWriter][10] is a simple distraction free editor. It uses a hideaway interface that you access by moving your mouse to the edges of the screen. It is licensed with GPLv3 and it's available on Linux with Flatpak,via DEB on [Ubuntu][11], and RPM on [Fedora][12]. This is an example of the FocusWriter desktop. A very simple and intuitive interface where the menu automatically hides until you move your mouse pointer to the top or sides of the screen. Files are saved by default as an `.odt`, but it also supports plain text, `.docx`, and Rich text.
![Image of FocusWriter][13]
### LibreOffice Writer
[LibreOffice Writer][14] is my favorite. I have been using it for over a dozen years. It has all the features I need including formatting for rich text. It also has the largest array of import and export options I have seen in any word processor. There are dozens of templates available for specialty formats like [APA][15] for research and publication. I love that I can export directly to PDF and epub' from any word processor. LibreOffice Writer is free software with the Mozilla Public License 2.0. The s[ource code][16] for LibreOffice is from the Document Foundation. LibreOffice comes standard with most Linux distribution. It is also available as Flatpak, Snap, and AppImage. In addition, you can download and install it on MacOS and Windows.
![Image of LibreOffice work space][17]
### OpenOffice Writer
Apache [OpenOffice Writer][18] is a complete word processor. It's simple enough for memos yet complex enough to write your first book. According to their website, OpenOffice Writer automatically saves documents in open document format'. Documents can also be saved in `.doc`, `.docx`, Rich Text, and other formats. OpenOffice Writer is licensed with an Apache License 2.0. Source code and is available on [GitHub][19].
There is a wealth of free open source software waiting for you to discover. They are great for getting your everyday tasks done and you can also contribute to their development. What is your favorite Linux word processor application?
Image by: (Don Watkins, CC BY-SA 4.0)
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/6/word-processors-linux
作者:[Don Watkins][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/don-watkins
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/typewriter-hands.jpg
[2]: https://www.abisource.com/
[3]: https://opensource.com/sites/default/files/2022-05/abiword.png
[4]: https://etherpad.org/#
[5]: https://github.com/ether/etherpad-lite#installation
[6]: https://cryptpad.fr/what-is-cryptpad.html
[7]: https://github.com/xwiki-labs/cryptpad
[8]: https://github.com/xwiki-labs
[9]: https://docs.cryptpad.fr/en/user_guide/index.html
[10]: https://gottcode.org/focuswriter/
[11]: https://packages.ubuntu.com/jammy/focuswriter
[12]: https://src.fedoraproject.org/rpms/focuswriter
[13]: https://opensource.com/sites/default/files/2022-05/focuswriter.png
[14]: https://www.libreoffice.org/discover/writer/
[15]: https://extensions.libreoffice.org/en/extensions/show/apa-style-paper-template
[16]: https://www.libreoffice.org/about-us/source-code/
[17]: https://opensource.com/sites/default/files/2022-05/Libreofficewriter.png
[18]: https://www.openoffice.org/product/writer.html
[19]: https://github.com/apache/openoffice

View File

@ -0,0 +1,382 @@
[#]: subject: "A Drupal developer's guide to Progressive Web Apps"
[#]: via: "https://opensource.com/article/22/6/drupal-pwa"
[#]: author: "Alex Borsody https://opensource.com/users/alexborsody"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
A Drupal developer's guide to Progressive Web Apps
======
Here is an outlined approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs.
![Digital creative of a browser on the internet][1]
The following article is a companion to my presentation at Drupalcon and Drupalcamp covering Progressive Web Apps implementations.
Progressive Web Apps (PWA) have support from some of the top tech companies, including Google and Microsoft, with the common goal being "[Web apps should be able to do anything iOS, Android, or desktop apps can.][2]" PWAs can add value to businesses at a variety of different stages. All projects have limitations, whether they be development resources, timeline, budget, or technical debt. Even with "unlimited resources," developing an app from a single codebase, using commonly known web technologies, allows for a more frictionless, sane release cycle.
Disclaimers:
* PWA is a collection of different techniques combined in a web browser to create an "app-like" experience.
* This information is from an architect's perspective for choosing and implementing various technologies that come together to build a product.
* Below is a high-level end-to-end outline of a path to launch a Drupal website on the app stores. Each section could be its own in-depth blog post.
* The techniques are written with Drupal in mind, but you can apply many of them to all web apps.
### What is a PWA?
![What is PWA][3]
Benefits of a PWA implementation:
* Increased Lighthouse score and SEO.
* Single codebase.
* Frictionless testing.
* Instant feedback loop for development cycles.
* Use of existing PaaS deployment workflows, including Acquia, Pantheon, Platform.sh etc.
* Use of web technologies that are a familiar skillset for a wide array of developers.
* Provides the only cross-platform development solution that delivers a full-fledged desktop experience.
* Offers unlimited options to customize a design without relying on a cross-platform framework's limited UI components.
This article covers some basic points for PWA deployment. There are many details to consider both at the architect and developer levels. The following topics are discussed:
* PWA minimum requirements and Drupal PWA module as a starting point.
* Publishing on app stores.
* Everything you need to know about making your PWA feel [app-like][4].
### PWA module on Drupal.org
The [Drupal PWA module][5] is a solution that generates a service worker for caching strategies and offline capabilities. Its secondary functionality also generates a `manifest.json`, so once installed, it will fulfill the [basic requirements of a PWA][6] out-of-the-box.
There is functionality in the module's service worker that provides unique solutions to Drupal-specific behavior, although you can also apply these solutions to apps outside of Drupal.
![Drupal PWA module][7]
#### Offline caching
Offline caching with a service worker is one of the functionalities that defines a PWA.
The following images summarize how a service worker acts as a proxy (sitting between the client and the internet/webserver) to intercept HTTP requests from the browser.
During the first request to the `/about` page, the browser reaches the network, and upon returning a 200 response from the server, the Javascript service worker calls **cache.put()** to store the HTML and all assets in the [Cache API][8].
![Offline caching example in service worker][9]
On the second trip, the service worker bypasses the network completely and serves the page from the Cache API store in the user's browser, loading the page instantly. It can also load the page offline.
![Second visit to site][10]
The browser can precache pages to make them load instantly before the user visits them or even load offline before a visit. However, because in Drupal, the CSS/JS filenames change after compression, the solution must address the problem of identifying these assets before it can precache them via a service worker. It does this by internally requesting the URLs set in the admin panel and extracting assets from the DOM. This allows the service worker [install event][11] to fetch all CSS/JS and images from these documents to store in Cache API. The complete pages will then be viewable offline and load instantly, even if the user never visits them first.
![Service worker][12]
![Offline caching demo][13]
Below, I fetch all the assets from the URLs set in the admin panel to inject later into the service worker precache assets array. In D8, I changed the request to use **Drupal::httpClient()**, which is the updated version of **drupal_http_request()** in D7 and is a wrapper for the PHP Guzzle library.
```
foreach ($pages as $page) {
try {
  // URL is validated as internal in ConfigurationForm.php.
  $url = Url::fromUserInput($page, ['absolute' => TRUE])->toString(TRUE);
  $url_string = $url->getGeneratedUrl();
  $response = \Drupal::httpClient()->get($url_string, array('headers' => array('Accept' => 'text/plain')));
```
This code matches all assets needed:
```
// Get all DOM data.
$dom = new \DOMDocument();
@$dom->loadHTML($data);
$xpath = new \DOMXPath($dom);
foreach ($xpath->query('//script[@src]') as $script) {
  $resources[] = $script->getAttribute('src');
}
foreach ($xpath->query('//link[@rel="stylesheet"][@href]') as $stylesheet) {
  $resources[] = $stylesheet->getAttribute('href');
}
foreach ($xpath->query('//style[@media="all" or @media="screen"]') as $stylesheets) {
  preg_match_all(
    "#(/(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie",
    ' ' . $stylesheets->textContent,
    $matches
  );
  $resources = array_merge($resources, $matches[0]);
}
foreach ($xpath->query('//img[@src]') as $image) {
  $resources[] = $image->getAttribute('src');
}
```
Below, you can see the final result in the processed `serviceworker.js` file that is output in the browser. The variables in the service worker are replaced with the path to the assets to cache.
![Final test of offline caching][14]
#### Phone home uninstall
The module provides another clever piece of functionality—responsible cleanup when uninstalled. The module sends a request back to a URL created by the module. If the URL does not exist, it means the module has been uninstalled. The service worker then unregisters itself and deletes all related caches left on the user's browser.
```
// Fetch phone-home URL and process response.
let phoneHomeUrl = fetch(PWA_PHONE_HOME_URL)
.then(function (response) {
// if no network, don't try to phone-home.
if (!navigator.onLine) {
console.debug('PWA: Phone-home - Network not detected.');
}
// if network + 200, do nothing
if (response.status === 200) {
console.debug('PWA: Phone-home - Network detected, module detected.');
}
// if network + 404, uninstall
if (response.status === 404) {
console.debug('PWA: Phone-home - Network detected, module NOT detected. UNINSTALLING.');
// Let SW attempt to unregister itself.
Promise.resolve(pwaUninstallServiceWorker());
}
return Promise.resolve();
})
.catch(function(error) {
console.error('PWA: Phone-home - ', error);
});
};
```
### Testing notes
Disable the module on dev as it provides an extra caching layer. Any changes pushed to production for CSS or other assets with cache first strategies should be followed by incrementing the service worker version to bust the cache.
You can find additional debugging steps for a service worker on this PWA module [documentation page][15].
Using the Chrome console to [remote debug][16] on a mobile device is possible on Android and can be helpful.
### 2.x version
The 2.x and 7.2x versions port the service worker to [Workbox][17], where you can set caching strategies. Here, setting caching strategies for different asset types and routes is simplified from about 30 lines of code using just the javascript Fetch API to about five lines. Some people may be resistant to libraries, but this is the direction Google is taking with PWAs.
Workbox [caching strategies][18] are similar to those in other caching layers such as Varnish. For example, by default, image assets and fonts are set to "cache first," so they are always served instantly. HTML would best be implemented as [stale-while-revalidate][19].
![Workbox and PWA module][20]
There is also functionality in Workbox, such as [background sync][21], where a failed post request will retry upon coming back online.
![Offline cache][22]
For more information on what a service worker can do and all the use cases where it may be helpful, check the [W3 Service Workers Demo repo][23] on GitHub.
### Get your web app in the app stores
PWA builder is a web application powered by Microsoft where you input your URL and it generates everything you need to submit to the app stores.
For Android, it uses TWA, and for iOS, it wraps your web app in native SWIFT code using [WebKit's][24] WKWebView. These are techniques I have been using since 2013, way back when Drupal was a buzzy technology and being used by startups. Businesses that had mobile-optimized Drupal websites wanted them on the app stores. Before Android TWA, developers used Webview, and before WKWebView, there was UIWebView.
Recently PWA builder added a [solution for iOS][25] using WKWebView, which confirms my belief that this is the best option to get your PWA into the App Store. Maximilian Firtman also reveals this as the solution in his course "Creating Progressive Web Apps with Vue," which I purchased to see his answer to the problem.
The PWA module provides everything you need to run through PWA Builder:
* For Android, it creates a lightweight .apk/.aap using TWA to submit to the Play Store 800kb.
* For iOS, it wraps your website in WKWebView to submit to the App Store.
A live demo I put together of PWA builder is here. **[[EDITORS - MISSING LINK]]**
### Android and TWA
The Google and Chromium teams are currently the strongest driving forces behind PWAs. Therefore, TWA is designed specifically to get your PWA into the Play Store. On the contrary, WKWebView is essentially a workaround not explicitly supported by Apple. However, WKWebView is extremely powerful, even though Apple doesn't advertise this or have much documentation on its capabilities.
Trusted Web Activity is essentially a Chrome process running in full screen with a status bar and loading screen. The thread is running in the same process as the Chrome app on your phone. For example, if you are logged in on your Chrome browser, you will be logged in on your TWA app. To clear up any possible confusion resulting from this, the TWA team has added a "toast," meaning the first time the user opens the app, a notification shows "Running in Chrome." This only happens the first time the app is installed. This annoyance is enough for some teams to ditch TWA and use the WebView class instead; however, Google [discouraged this][26] as you lose out on everything baked into the Chrome web browser.
The [main points][27] Google makes about using TWA are:
* Chrome is feature complete.
* Faster than Webview.
* Evergreen (always the up-to-date version of Chrome).
Additional useful functionality.
* Chrome handles frictionless OAuth requests.
* Share cookies, local storage, and saved settings with the preferred browser.
Below is a comparison chart of everything you get when using TWA instead of a Webview wrapper.
![Google TWA][28]
### Webkit: WKWebView
There are several considerations for publishing on the App Store. WKWebView is essentially a workaround and not a method implicitly endorsed by Apple to launch a native app. Some caveats come with this. The most important is to be mindful of Apple's [minimal functionality guidelines][29].
From my experience, you will be approved if you do everything you can to make your web app "app-like" with useful functionality. Using the Webkit API to enhance your web app is another way to provide additional functionality outside of your website.
One technique is to set a cookie depending on the **start_url**. For example, add a parameter like **myapp.com?ios_app** and set a cookie to determine a separate stylesheet or customize logic.
Consider the following sample implementation.
**Note**: This technique should not be confused with Apple's limited [add to homescreen][30] support, which you usually hear about with Apple + PWAs. I won't cover this as it's not the experience a user would expect.
PWA builder provides the minimum functionality required to wrap a website in WKWebView for App Store submission. For features such as biometric or push notifications, you need a custom implementation of WKWebView.
In the graphic below, you can see the source files provided. You can then easily compile your app in XCode and submit it to the app store.
![Source code][31]
[PWA Builder provides][32]:
* No Bounce when scrolling out of view with wKWebView.scrollView.bounces = false
* Service worker support
* Shortcuts URL capture
* Permitted navigation scopes
* Status bar customization
* Splash screen from manifest props
* iOS app awareness from JS code
* Mac Store support
A custom implementation of WKWebView can provide:
* Push notifications: Push notifications are possible by posting the device ID matched to the Drupal UID, which can be extracted from the URL /user/{uid}/edit, for example.
* [Biometric][33]: Biometric is implemented on all pages except for user/login and user/register, and the cookie max expiration is extended. Biometric is shown every time the app is closed and reopened.
* [WKUIDelegate][34]: Present native UI elements, such as alerts, inputs, or contextual menus.
* [evaluateJavaScript()][35]: Execute any Javascript. The possibilities here are endless.
* Password management using [associated domains][36]: Placing a public keypair in your `/.well-known` directory will allow your native app to trust your website and autofill passwords.
View the [README.md][37] of WKWebView+, a project I am working on that makes it easy to integrate this enhanced functionality into any iOS PWA.
#### Cons of WKWebView
Give the following considerations attention before implementing WKWebView:
* There is a paradigm shift in thinking required for frontend developers to debug a PWA correctly. Though it relies on web technologies, there is a learning curve.
* Without a native iOS developer, certain features are not possible to implement. However, [WKWebView+][38] was designed to solve this.
* Though the outlook for Apple and PWAs [looks positive][39], as usual, you are at the mercy of the next Safari release.
### Moving forward
Many of the features available with TWA are only available on Chromium-based browsers. Webkit mobile/WKWebView lags. This lag includes push notifications, "add to home screen," and overall web browser standards. Maximilian Firtman's blog is currently one of the best resources for a summary of the updates in the latest Safari, even if they [were not announced in the release notes][40].
The optimistic outlook is that WKWebView is based on the open-source project Webkit, and there is a collaboration among the developers that work on both Chromium and WebKit. Anyone can create an issue and pull request. Often, features already [implemented in Chrome][41] have patches submitted to Webkit that do the same.
#### Make it app-like
Websites that took all the right vitaminsA PWA is essentially a collection of web technologies that combine to make your web experience app-like, as if the website "took all the right vitamins." Below I have identified points that make up a good PWA:
* UX/UI: Visual problem solving is at the core of making your website feel like an app. A great CSS developer with an eye for design and detail, such as animations, input/font sizes, and scrolling issues, is essential.
* Stay current with app-like enhancements: Keeping frontend code updated and compatible across WebKit/Chrome requires research and periodic updates, particularly when a new version of the iPhone is released.
* Implement expanded web capabilities: The Chromium team constantly improves the browser experience. This can be tracked in [Project Fugu][42], the overarching web capabilities project. The closest thing there is to comprehensive documentation on PWAs is on [webdev][43].
* Page speed: I covered caching with a service worker, but there are countless other technologies and techniques.
Some examples of app-like enhancements include using HTML/CSS/JS technologies commonly available to web developers, and then making them frictionless to implement, test, and deploy. You can find a good example of a web application using many of these suggestions [here][44].
Suggestions include:
* [Javascript touch events][45]: Disable pinch zoom and add swipe/multitouch gestures.
* CSS:
+ Minify/optimize CSS and apply [Lighthouse][46] suggestions.
+ "App-like" input/font sizes and make sure everything fits in the viewport; make it visually look like an app.
+ Tactful use of preloaders.
* Utilize cookies: Set cookie based on app start URL.
* HTML attributes:
+ autocomplete="username"
+ [autocomplete="current-password"][48]
+ [autocomplete="one-time-code"][49] - WebOTP API
+ input type="tel"
* Ajax API (Drupal specific), Websockets, or SPA framework.
* iPhone specific suggestions:
+ [Status bar on iPhone X][52] and Viewport meta tag.
+ Apple-specific [meta tags][53].
![iPhone X status bar][61]
### Wrap up
PWA brings together different techniques to create an app-like experience in a web browser. I outlined an approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs. What implementations of PWA might help your organization's user experience?
View the [README.md][62] of WKWebView+, a project I am working on that makes it easy to integrate this enhanced functionality into any iOS PWA.
Ionic the spiritual successor to Cordova is a popular framework that also utilizes [WKWebView][63] to build native iOS.
Image by: (Alex Borsody, CC BY-SA 4.0)
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/6/drupal-pwa
作者:[Alex Borsody][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/alexborsody
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/browser_web_internet_website.png
[2]: https://developer.chrome.com/blog/fugu-status/
[3]: https://opensource.com/sites/default/files/2022-06/what-is-pwa.jpeg
[4]: https://web.dev/app-like-pwas/
[5]: https://www.drupal.org/project/pwa
[6]: https://web.dev/lighthouse-pwa/
[7]: https://opensource.com/sites/default/files/2022-05/2DrupalModule.jpg
[8]: https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage
[9]: https://opensource.com/sites/default/files/2022-05/3OfflineCache.png
[10]: https://opensource.com/sites/default/files/2022-05/4SecondVisit.jpg
[11]: https://developer.mozilla.org/en-US/docs/Web/API/InstallEvent
[12]: https://opensource.com/sites/default/files/2022-05/5SvcWorker.jpg
[13]: https://opensource.com/sites/default/files/2022-05/6Test.jpg
[14]: https://opensource.com/sites/default/files/2022-05/7Test-code.jpg
[15]: https://www.drupal.org/docs/7/modules/progressive-web-app-pwa/troubleshooting
[16]: https://developer.chrome.com/docs/devtools/remote-debugging/
[17]: https://developers.google.com/web/tools/workbox
[18]: https://developers.google.com/web/ilt/pwa/caching-files-with-service-worker
[19]: https://developer.chrome.com/docs/workbox/modules/workbox-strategies/
[20]: https://opensource.com/sites/default/files/2022-05/8Workbox.jpg
[21]: https://developer.chrome.com/docs/workbox/modules/workbox-background-sync/
[22]: https://opensource.com/sites/default/files/2022-05/9OfflineCache.jpg
[23]: https://github.com/w3c-webmob/ServiceWorkersDemos
[24]: https://developer.apple.com/documentation/webkit
[25]: https://blog.pwabuilder.com/docs/ios-platform/
[26]: https://twitter.com/andreban/status/1232204535835303936
[27]: https://youtu.be/6lHBw3F4cWs?t=179
[28]: https://opensource.com/sites/default/files/2022-05/10GoogleTWA.png
[29]: https://developer.apple.com/app-store/review/guidelines/#minimum-functionality
[30]: https://support.apple.com/guide/shortcuts/add-a-shortcut-to-the-home-screen-apd735880972/ios
[31]: https://opensource.com/sites/default/files/2022-05/11sourcefiles.jpg
[32]: https://blog.pwabuilder.com/docs/ios-platform/
[33]: https://github.com/AlexBorsody/drupalcon2022/blob/main/README.md#biometrics
[34]: https://developer.apple.com/documentation/webkit/wkuidelegate
[35]: https://developer.apple.com/documentation/webkit/wkwebview/1415017-evaluatejavascript
[36]: https://developer.apple.com/documentation/xcode/supporting-associated-domains
[37]: https://github.com/AlexBorsody/drupalcon2022/blob/main/README.md
[38]: https://github.com/AlexBorsody/drupalcon2022/blob/main/README.md
[39]: https://firt.dev/pwa-2021/#tim-cook-promoting-pwas
[40]: https://www.macworld.com/article/610673/ios-15-4-safari-push-notifications.html
[41]: https://www.google.com/search?q=site:https://webkit.org/+chromium&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwjGwrDj2Nj2AhXHrHIEHfBQD5wQpwV6BAgBEBk&biw=1638&bih=897&dpr=2
[42]: https://www.chromium.org/teams/web-capabilities-fugu/
[43]: https://web.dev/progressive-web-apps/
[44]: https://carbonpay.io/
[45]: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Multi-touch_interaction
[46]: https://developers.google.com/web/tools/lighthouse
[47]: https://developers.google.com/web/tools/lighthouse
[48]: https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
[49]: https://web.dev/web-otp/
[50]: https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
[51]: https://web.dev/web-otp/
[52]: https://webkit.org/blog/7929/designing-websites-for-iphone-x/
[53]: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
[54]: https://webkit.org/blog/7929/designing-websites-for-iphone-x/
[55]: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
[56]: https://developers.google.com/web/tools/lighthouse
[57]: https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
[58]: https://web.dev/web-otp/
[59]: https://webkit.org/blog/7929/designing-websites-for-iphone-x/
[60]: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
[61]: https://opensource.com/sites/default/files/2022-05/12iPhoneStatusBar.png
[62]: https://github.com/AlexBorsody/drupalcon2022/blob/main/README.md
[63]: https://ionicframework.com/docs/v3/wkwebview/

View File

@ -0,0 +1,110 @@
[#]: subject: "Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else"
[#]: via: "https://itsfoss.com/amberol-music-player/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else
======
Though the world of music is dominated by streaming services, it has not discouraged developers from creating music players for desktop computers.
Recently, I came across a beautiful looking new music player for the Linux desktop. Its called Amberol and I was awestruck by its beauty.
![amberol music player interface][1]
Looks good, no? Lets take a closer look at it.
### Amberol, the cute looking music player for Linux
Looking good is one of the two (or few) things it does. The other thing is playing music.
And thats about it. [Amberol][2] doesnt have additional fancy (and useful) features like album art generation, metadata editing, lyrics display or playlists and library management.
Its not like these features will be added in future releases. Amberol just wants to play music. Thats it.
#### The stunning UI
Amberol is written in Rust and GTK like most new GNOME applications.
It has an adaptive UI that changes color based on the album color you are playing. The gradient effect gives it a modern, sleek look that would surely be part of your Linux ricing screenshots.
![amberol music player][3]
Since the UI does not have the traditional handlebar and menu, it gives the application a unified look.
#### Playlists
It generates a playlist automatically from the files present in the folder you add. It is displayed in the lefthand sidebar.
![amberol playlist][4]
You can see how long the entire playlist will play the music in the top left corner. Clicking on the correct sign allows you to select songs and remove them from the playlist.
If you want, you can hide the playlist sidebar.
![amberol without playlist][5]
#### Music playing options
You can see the progress of the songs on the interface. The player integrates well with the media control buttons on the keyboard. You can play/pause and change tracks with the dedicated media keys (if you have it on your system).
Amberol does give you a few more options for playing the music. You can turn on the shuffle to play music in random order. You may also put a song on repeat and keep on playing it till you get bored of it.
![amberol music playing options][6]
The handlebar menu at the bottom gives you the option to add a file or folder and show available keyboard shortcuts.
![amberol keyboard shortcuts][7]
You may also disable the UI color changing to match the album art from here.
### Installing Amberol on Linux
Amberol is [available as Flatpak][8]. Please ensure that [your system has Flatpak support enabled][9].
To install Amberol, open a terminal and use the following command:
```
flatpak install flathub io.bassi.Amberol
```
Once installed search for the application in the menu and start from here.
On the first run, it asks you to add music files or folders. You can also drag and drop files.
![amberol first run][10]
### Conclusion
Personally, I prefer streaming services because I dont have a good collection of local music. But I know there are people who have/had a huge collection of CDs that are now saved on the hard disk.
Amberol is a beautiful-looking application and it is good enough for playing local music. The main attraction is the adaptive UI based on the album art.
I let you play with it and share your experience in the comment section.
--------------------------------------------------------------------------------
via: https://itsfoss.com/amberol-music-player/
作者:[Abhishek Prakash][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lkxed
[1]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-music-player-interface-800x693.png
[2]: https://apps.gnome.org/app/io.bassi.Amberol/
[3]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-music-player-800x580.png
[4]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-playlist-800x548.png
[5]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-without-playlist-800x693.png
[6]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-music-playing-options-800x548.png
[7]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-keyboard-shortcuts-800x528.png
[8]: https://flathub.org/apps/details/io.bassi.Amberol
[9]: https://itsfoss.com/flatpak-guide/
[10]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-first-run-800x693.png