Я думаю, что вы создаете библиотеку многократного использования или если вы получаете немного более амбициозную среду приложения.
Мое понимание SDK состоит в том, что он будет иметь инструменты (например, компиляторы, препроцессоры WSDL), необходимые для разработки приложений, тогда как среда выполнения просто будет иметь то, что вам нужно для запуска разработанного приложения.В отличие от Java JRE (VM, стандартные библиотеки) и JDK (компилятор и т. Д.). Когда мы разрабатываем для специализированных платформ (например, смартфонов), мы часто имеем в SDK эмуляцию целевой платформы, чтобы позволить нам тестировать наш код на нашемрабочая станция.
Я не думаю, что вас должно волновать, создаете ли вы фреймворк или SDK, скорее, стоит задуматься о том, будет ли это полезно для других разработчиков.Если вы скажете им: «скачайте ваш стандартный Java JDK, + стандартный mongodb + мой отличный фреймворк), вы вполне можете им помочь. Я бы посчитал что-то вроде Spring таким начавшимся, и посмотрю, что с этим произошло.
После того, как вы начнете упаковывать другие вещи в свою инфраструктуру, чтобы упростить начальную загрузку разработчиков, вы приобретете мир проблем с обслуживанием, когда вы выпустите новую версию своего пакета? Что происходит, когда исправлениянеобходим для пакетов, которые вы включаете.