@cubooks
Web-developer

Масштабирование Javascript-приложений?

Добрый день! Давайте представим, что вы пришли в проект, в котором весь Front-end написан на различных библиотеках jQuery. Вам это не нравится, и вы бы хотели переделать всё под общую архитектуру, переписать значительную часть Front-end.

На данный момент мы имеем три-четыре переписанных под себя библиотеки на нативном Javascript. Почитав статью "Паттерны для масштабируемых JavaScript-приложений", где автор книги просит задуматься о будущем вашего приложения, мне стало интересно, как всё таки лучше организовать данные библиотеки на данном этапе, чтобы в будущем проект мог масштабируемым (так как планируется значительная front-end часть приложения).

Статья - https://vk.com/doc109267511_374443692?hash=28515a6...

Библиотеки:
1. Modalbox
2. Tabs

Они написаны они в такой стиле:

(function() {
   var Lib = function(options) { }
   Lib.prototype.method = function() { } 

   window.Lib = Lib;
})();

var lib = new Lib(options);


Мои предположения, что нужно сделать по принципу "Модуль", то есть возвращать объект с API методами, а всю скрытую часть сделать не доступной.

Хотел бы спросить вашего мнения, господа!
  • Вопрос задан
  • 271 просмотр
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Хотел бы спросить вашего мнения, господа!


Берем готовый фреймворк предоставляющий нам структуру - готово. Главное не делать лишних зависимостей и не пилить велосипеды. Low coupling и high cohesion.

Ну и да, если вы думаете о будущем но не пишите тестов - вы не думаете о будущем. Либо у вас или ваших QA слишком много свободного времени для поиска регрессий.
Ответ написан
sim3x
@sim3x
Можно написать свой велосипед, но нужно ли?
requirejs.org/docs/whyamd.html
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Да, это хороший подход. Зачем во внешнем доступе данные/методы, которые не будут / не должны использоваться?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект