Без заголовка
именно. первый прототип можно сделать вообще из деталей детского конструктора, картона и скотча или их аналогов в предметной области: главное, чтобы можно было проверить идею на работоспособность. а когда потребуется довести до ума и выжать все возможности из лучших имеющихся средств ("при длительности проекта более года"), чужие готовые детали постепенно выбрасываются и на их место ставятся свои, более глубоко оптимизированные.
что я пытался сказать — это что такая замена имеет некоторую естественную границу: совсем простые и хорошо отработанные компоненты не заменяются, а заменяется в основном слой, непосредственно примыкающий к тому новому и необычному, что создаётся в проекте. "не используя каких-то чужих библиотек и фреймворков" обычно не значит, что переписывается также стандартный runtime языка, типа поддержки строк или башни чисел — хотя и такое бывает :)