2026-05 Git Budget Qt app for macOS
This commit is contained in:
99
en/news/git-budget-qt.html
Normal file
99
en/news/git-budget-qt.html
Normal file
@@ -0,0 +1,99 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<head>
|
||||
<link rel="stylesheet" href="../../style.css">
|
||||
</head>
|
||||
<body>
|
||||
<script data-goatcounter="https://services.opengamestudio.org:443/count" async src="//services.opengamestudio.org:443/count.js"></script>
|
||||
<div id="header">
|
||||
<div class="header2">
|
||||
<div class="menu">
|
||||
<a href="../../en/news/index.html">News</a>
|
||||
<a href="../../en/game/index.html">Games</a>
|
||||
<a href="../../en/tool/index.html">Tools</a>
|
||||
<a href="../../en/page/about.html">About</a>
|
||||
</div>
|
||||
<div id="lang">
|
||||
<a href="../../en/news/git-budget-qt.html">EN</a>
|
||||
<a href="../../ru/news/git-budget-qt.html">RU</a>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="left_item_title">In the news...</h3>
|
||||
<center>
|
||||
<div class="news_item">
|
||||
<h2 class="news_item_title">
|
||||
<a href="git-budget-qt.html">Git Budget is now finally a Qt application, too</a>
|
||||
</h2>
|
||||
<p class="news_item_date">
|
||||
2026-05-01
|
||||
</p>
|
||||
<div class="news_item_contents">
|
||||
<video controls width="700">
|
||||
<source src="../../vid/2026-04_git-budget-qt.mp4" type="video/mp4"/>
|
||||
</video>
|
||||
<h1 id="april">April</h1>
|
||||
<p>In April I have finally updated Klin tool to generate C++ bindings. This allowed
|
||||
me to have Git Budget as a Qt application for macOS using Kotlin Dialect.</p>
|
||||
<p>The most interesting part is how many lines of code were saved when supporting
|
||||
several platforms:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Platform</th>
|
||||
<th>Saved lines of code</th>
|
||||
<th>Saved %</th>
|
||||
<th>Total lines of code</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Android</td>
|
||||
<td>0 (Original code)</td>
|
||||
<td>0%</td>
|
||||
<td>652</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>iOS</td>
|
||||
<td>333</td>
|
||||
<td>58%</td>
|
||||
<td>569</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>macOS</td>
|
||||
<td>340</td>
|
||||
<td>44%</td>
|
||||
<td>761</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Turns out the fact that you don't need to repeat the logic means additional
|
||||
platforms require 44-58% less lines of code, i.e., once you have an Android
|
||||
application any additional platform comes at only half the price.</p>
|
||||
<h1 id="may">May</h1>
|
||||
<p>In May I plan to add the history of spendings to Git Budget.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="disqus_thread"></div>
|
||||
<script>
|
||||
var disqus_config = function () {
|
||||
this.page.url = "https://opengamestudio.org/en/news/git-budget-qt.html";
|
||||
this.page.identifier = "git-budget-qt.html";
|
||||
};
|
||||
(function() { // DON'T EDIT BELOW THIS LINE
|
||||
var d = document, s = d.createElement('script');
|
||||
s.src = 'https://opengamestudio.disqus.com/embed.js';
|
||||
s.setAttribute('data-timestamp', +new Date());
|
||||
(d.head || d.body).appendChild(s);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
<div id="footer">
|
||||
The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
|
||||
from <a href="http://github.com/ogstudio/site-opengamestudio">this source code</a>.
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user