Publish durable applications
This commit is contained in:
@@ -9,13 +9,18 @@
|
||||
padding: 0.7em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#header a
|
||||
{
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
padding: 0.5em 1em 0.5em 1em;
|
||||
}
|
||||
|
||||
#lang
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.news_item
|
||||
{
|
||||
background: #FFFFFF;
|
||||
@@ -36,6 +41,11 @@
|
||||
margin-bottom: 2em;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
html
|
||||
{
|
||||
font-family: sans-serif;
|
||||
}
|
||||
body
|
||||
{
|
||||
background: #FAFAFA;
|
||||
@@ -46,38 +56,27 @@
|
||||
font-size: 1em;
|
||||
color: #7f0a0c;
|
||||
}
|
||||
/*
|
||||
figure
|
||||
{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
*/
|
||||
img
|
||||
{
|
||||
width: 720px;
|
||||
}
|
||||
html
|
||||
{
|
||||
font-family: sans-serif;
|
||||
}
|
||||
a
|
||||
{
|
||||
color: #3A91CB;
|
||||
text-decoration: none;
|
||||
}
|
||||
#lang
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
figcaption
|
||||
{
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
|
||||
table
|
||||
{
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table, th, td
|
||||
{
|
||||
border: 1px solid #aaa;
|
||||
@@ -88,31 +87,33 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<div id="header">
|
||||
<strong id="title">Open Game Studio</strong>
|
||||
<a href="../../ru/news/index.html">Новости</a>
|
||||
<a href="../../ru/page/games.html">Игры</a>
|
||||
<a href="../../ru/game/index.html">Игры</a>
|
||||
<a href="../../ru/tool/index.html">Инструменты</a>
|
||||
<a href="../../ru/page/about.html">О нас</a>
|
||||
<div id="lang">
|
||||
<a href="../../en/news/2016-november-recap.html">EN</a>
|
||||
<a href="2016-november-recap.html">RU</a>
|
||||
<a href="../../ru/news/2016-november-recap.html">RU</a>
|
||||
</div>
|
||||
</div>
|
||||
<h1>В новостях</h1>
|
||||
<div class="news_item">
|
||||
<h2 class="news_item_title">
|
||||
<a href="2016-november-recap.html">Ноябрь 2016 кратко</a>
|
||||
</h2>
|
||||
<p class="news_item_date">
|
||||
2016-12-15 00:00
|
||||
</p>
|
||||
<div class="news_item_contents">
|
||||
<figure>
|
||||
<img src="../../images/2016-12-15_2016-november-recap.png" alt="Постройка здания" /><figcaption>Постройка здания</figcaption>
|
||||
</figure>
|
||||
<center>
|
||||
<h1>В новостях...</h1>
|
||||
<div class="news_item">
|
||||
<h2 class="news_item_title">
|
||||
<a href="2016-november-recap.html">Ноябрь 2016 кратко</a>
|
||||
</h2>
|
||||
<p class="news_item_date">
|
||||
2016-12-15 00:00
|
||||
</p>
|
||||
<div class="news_item_contents">
|
||||
<p><img src="../../images/2016-12-15_2016-november-recap.png" alt="Постройка здания" /></p>
|
||||
<p>Эта статья описывает начало разделения библиотеки MJIN на модули.</p>
|
||||
<p>Как только мы собрали OpenSceneGraph для Android, стало очевидно, что часть функционала MJIN не нужна на Android. Например, UIQt - это основа интерфейса Редактора. Раз Редактор - это приложение для ПК, то UIQt не нужен на Android.</p>
|
||||
<p>Мы решили рассмотреть два подхода к разделению MJIN на модули: во время сборки (build-time) и исполнения (run-time). Разделение <strong>во время сборки</strong> означает гибкую систему настроек MJIN, что позволит собирать её различно под каждую платформу. Разделение <strong>во время исполнения</strong> означает разделение MJIN на несколько небольших библиотек с последующим соединением во время исполнения, что позволит легко менять функционал без повторной сборки.</p>
|
||||
<p>Мы решили рассмотреть два подхода к разделению MJIN на модули: во время сборки (build-time) и исполнения (run-time).
|
||||
Разделение <strong>во время сборки</strong> означает гибкую систему настроек MJIN, что позволит собирать её различно под каждую платформу.
|
||||
Разделение <strong>во время исполнения</strong> означает разделение MJIN на несколько небольших библиотек с последующим соединением во время исполнения, что позволит легко менять функционал без повторной сборки.</p>
|
||||
<p><strong>Исследование разделения во время исполнения.</strong></p>
|
||||
<p>Т.к. разделение во время исполнения имеет больше преимуществ, мы начали с этого подхода. Самый простой способ достичь его заключался в использовании C API, т.к. правила C ABI намного проще правил C++ ABI.</p>
|
||||
<p>Мы создали маленький проект, включающий в себя приложение, библиотеку и плагин:</p>
|
||||
@@ -132,9 +133,13 @@
|
||||
<p>Модули Sound и UIQt на текущий момент статически линкуются в MJIN, тогда как модуль Android линкуется динамически из-за ограничений JNI.</p>
|
||||
<p>В следующем году мы изменим структуру MJIN так, чтобы её можно было легче собрать под разные платформы.</p>
|
||||
<p>На этом мы заканчиваем статью о начале разделения библиотеки MJIN на модули.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
Сайт сгенерирован <a href="http://opengamestudio.org/pskov/ru">ПСКОВОМ</a>
|
||||
из <a href="http://github.com/ogstudio/site-opengamestudio">этого исходного кода</a>.
|
||||
Сайт размещён на <a href="https://pages.github.com">GitHub Pages</a>.
|
||||
</div>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user