Ми розглядаємо варіанти створення переднього кінця програми, яку ми створюємо, і намагаємось оцінити інструмент, який буде працювати для нас і дати нам найкращу платформу для просування вперед.
Це проект Node.js. Наш початковий план полягав у тому, щоб скористатися Експресом та спуститися цим маршрутом, але ми вирішили, що перш ніж почати цей етап, можливо, найкраще переглянути те, що там є. У нашому додатку є декілька областей, які, на нашу думку, не відповідають одностранної моделі, оскільки вони пов'язані з точки зору програми, але не з точки зору.
Ми побачили декілька фреймворків, які ми могли б використати для створення клієнта, як Backbone.js , Meteor тощо, а також AngularJS.
Це може бути досить очевидним питанням, але ми не можемо розшифрувати, якщо AngularJS призначений виключно для односторінкового додатка, або він може використовуватися для багатосторінкових програм, наприклад Express.
ОНОВЛЕННЯ 17 липня 2013 р. Просто для того, щоб утримати людей у циклі, я буду актуалізувати це питання під час проходження цього процесу. Зараз ми все збираємося разом, і побачимо, наскільки це добре. Ми звернулися до кількох людей, які більш кваліфіковані з AngularJS, ніж ми, і поставили питання щодо розділення великих додатків, що мають спільний контекст, але може бути занадто великим, працюючи над однією сторінкою.
Консенсус полягав у тому, що ми можемо обслуговувати декілька статичних сторінок та створювати програми AngularJS, які працюють лише з цими сторінками, ефективно створюючи колекцію SPA та зв’язуючи ці програми разом, використовуючи стандартне посилання. Зараз наш випадок використання дуже специфічний, оскільки у нашому рішенні є кілька застосувань, і, як я вже сказав, ми спробуємо спершу спробувати єдину кодову базу та оптимізувати звідти.
ОНОВЛЕННЯ 18 червня 2016 р . Проект випав зі скелі, тому ми ніколи не заважали робити занадто багато. Ми підняли його нещодавно знову, але більше не використовуємо кутові, а натомість використовуємо React. Ми все ще використовуємо архітектуру, викладену в попередньому оновленні, де ми використовуємо програми експрес-та самодостатнього вмісту, тому, наприклад, у нас є /chat
маршрут у експресі, який обслуговує наш додаток чату React, у нас є інший маршрут, /projects
який обслуговує додаток для проектів і так далі. Те, як ми його дивимося на кожну програму - це сукупний корінь з точки зору її набору функцій, її потрібно мати можливість самостійно вважати її додатком. Технічно вся інформація є там, її просто базовий експрес та будь-який аромат клієнта на базі додатків, які ви хочете використовувати.