Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

2024-11_pskov-again.md 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. Title: Возвращение к разработке «ПСКОВа»
  2. Date: 2024-11-14 00:00
  3. Category: News
  4. Slug: pskov-again
  5. Lang: ru
  6. ![lha][lha]
  7. # «ПСКОВ» сегодня
  8. Итак, у нас есть старая версия «ПСКОВа», а нам нужна новая с улучшенными
  9. характеристиками.
  10. Первым делом стоит вспомнить, из чего состоит «ПСКОВ»:
  11. 1. Непосредственно [генератор][pskov-ru] в виде веб-страницы на HTML + JavaScript
  12. 1. Вспомогательный [скрипт Python][lfsa-ru] для сохранения генерируемых файлов на диске
  13. Вспомогательный скрипт нужен по одной причине: веб-страницам запрещено общаться
  14. с локальной файловой системой по соображениям безопасности.
  15. Скрипт представляет из себя крошечный веб-сервер со следующими командами:
  16. | № | Команда | Детали |
  17. |---|---|---|
  18. | 1 | `GET /path` | Получение пути к текущей рабочей директории |
  19. | 2 | `POST /list` | Получение списка файлов переданного в теле запроса пути |
  20. | 3 | `POST /read` | Получение содержимого файла |
  21. | 4 | `POST /write` | Запись содержимого файла |
  22. # «ПСКОВ» завтра
  23. Самым простым способ вернуться к разработке «ПСКОВа», таким образом, является
  24. перераработка вспомогательного скрипта. На замену Python я выбрал Kotlin
  25. по двум причинам:
  26. 1. Kotlin можно скомпилировать под десктоп, мобилки и веб
  27. 1. Kotlin имеет строгую типизацию
  28. Оба этих фактора упрощают в будущем работу c портируемым кодом.
  29. Что касается переработки, то на текущий момент готова команда `GET /path`
  30. на платформах JVM, macOS и Windows (изображение в начале).
  31. # Ноябрь
  32. В ноябре я планирую реализовать две команды:
  33. * `POST /list`
  34. * `POST /read`
  35. [lha]: ../../images/2024_lha-path.gif
  36. [pskov-ru]: https://opengamestudio.org/pskov/ru/pskov_1.0.0+ru.html
  37. [lfsa-ru]: https://opengamestudio.org/lfsa/ru/index.html