Java 8 с Project Jigsaw приносит модульную систему в SDK. Я считаю, что это хорошо, как часть пакета (встроенная). OSGi также предоставляет модульную систему, но требует наличия контейнера. Но кроме того, что является основным различием между ними.
Если я использую OSGi, смогу ли я запустить его, используя стандартную версию JDK 8?
Будет ли OSGi релевантным, если SDK по умолчанию включает такие возможности? Я понимаю, что и OSGi, и Jigsaw можно использовать для написания обычных модульных Java-приложений, а не только для серных приложений (сервлетов и т.д.), Правильно?
Ответ на вопрос OSGi, Java Modularity и Jigsaw говорит, что для JRE, вероятно, необходима модульная система Jigsaw. По JRE, я полагаю, что OP означает стандартные Java-библиотеки, такие как IO, CORBA, RMI, которые написаны на Java или это реализация библиотеки классов, лежащая в основе этих целей? От чтения страницы проекта Jigsaw, я думаю, это первая. Если это позже, то как это помогает другим разработчикам Java, которые пишут Java-код? Библиотеки классов написаны на C/С++. Может ли кто-нибудь прояснить ситуацию?
Это не OSGi против Jigsaw. Я хочу по-настоящему понять, какой из них использовать. Если я напишу новое приложение (будь то настольный компьютер или сервер), я хотел бы основываться на тех технологиях, которые могут не устаревать стандартными реализациями и идти на отказ. Я не говорю, что OSGi устарел, мне нравится OSGi. Я смотрю на общую картину, каковы будущие направления для OSGi.