2013-03-19 14 views
10

Jestem nowym użytkownikiem Sencha ExtJS i Architect MVC, ale znam MVC i kilka innych bibliotek JQuery w ogóle.Struktura projektu realnego z architektem Sencha

Chcę zapytać, kiedy budujesz system w świecie rzeczywistym, jakie jest właściwe podejście do układu struktury aplikacji Sencha w Architect 2?

Na przykład, mamy następujące działy w naszej aplikacji, mają różne funkcje:

Accounting, Controlling, Quality Assurance, Customer Services, Human Resources, Logistics, Purchasing, Sales, Records Management ...

Sposób 1: Wpisz je w różnych projektach Architekt Sencha. Połącz ze stroną układu głównego + obszar główny + nagłówek/stopka + strony boczne. (Przy użyciu MVC.NET w naszym przypadku)

--- Plusy:

  • Wiele programiści mogą pracować na różnych podprojektów w agile środowiska.

  • Każdy projekt jest mniejszy i łatwiejszy do uaktualnienia lub wymiany.

--- Wady:

  • Mamy różne projekty Architekt Sencha dla, na przykład główne obszary, pasek boczny, nagłówek, stopka. Jak oni współpracują ze sobą? Teraz używamy tylko JQuery do przekazywania informacji między nimi, ale wydaje się, że jest to trochę hacky.

Podejście 2: Napisz je wszystkie w jednym dużym projekcie Sencha Architect. W ten sposób wyświetla się na jednej stronie app.html ze wszystkimi elementami.

--- Plusy:

  • Teraz każdy komponent w projekcie mogą współpracować ze sobą.

  • Prawdziwa aplikacja One-page-app All-in-One app.html wygląda ładnie.

--- Wady:

  • Having ciężko jeśli wielu programistów pracuje nad jednym projektem architekta Sencha.

  • To jeden duży, skomplikowany element aplikacji. Chociaż jest podzielony na proste kategorie App, Store, M, V, C, ale możemy mieć awarię nazwy komponentów w większym projekcie.

  • Prędkość ładowania może być problemem? Zgaduję tutaj, ponieważ nie wiemy, czy projekt Sencha Architect MVC ładuje odpowiednie okna i komponenty po części lub w całość.

Pytanie brzmi, jeśli zastosujemy pierwsze podejście w jaki sposób tworzymy komunikację pomiędzy różnymi projektami?Jeśli przyjmiemy drugie podejście, czy Sencha Architech 2 jest zaprojektowany do tego, aby budować rzeczywiste projekty? układasz wszystko w jeden duży projekt?

Odpowiedz

5

Najpierw powiem, że myślisz o tym problemie we właściwy sposób. Twoje plusy i minusy są na miejscu.

Po drugie za pełne ujawnienie Jestem inżynierem w zespole Sencha Architect.

Moja sugestia to posiadanie oddzielnych projektów, które są luźniej powiązane i być może połączone za pomocą aplikacji portal/dashboard. Aplikacja klejowa może być napisana w dowolnym formacie, w tym Ext JS w architekturze.

Powodem, dla którego to mówię, jest po prostu to, że nie lubię wkładać wszystkich moich jajek do jednego koszyka, a jeśli tworzysz aplikacje na jedną stronę, będziesz wiedział, że kiedy pracują, naprawdę nuczą. Ale gdy pojawi się wyjątek javascript, może zmusić tego użytkownika do wykonania pełnego odświeżenia, aby powrócić do szczęśliwego stanu. Oczywiście, jeśli jesteś doskonały, to nigdy się nie wydarzy: p Kto jest idealny?

Buduję architekta, który jest w rzeczywistości bardzo dużą aplikacją na jednej stronie. Jako zespół dokładamy wszelkich starań, aby każdy system mógł pracować z jak najmniejszą zależnością od innych systemów, jak to możliwe. Używamy rzeczy takich jak eventing, pub/sub, wzory adapterów i wtyczek, itp.

Systemy te są bardzo podzielone na osobne przestrzenie nazw i katalogi, które jak wszystkie oprogramowanie pomagają programistom w przedziałach. Architekt nie popiera dzisiaj tego pomysłu. Jednak z konwencją możesz zbliżyć się. na przykład HRController, HRNewEmployeeForm, HREmployeeGrid

Posiadanie HR jako osobnej aplikacji zapewnia jednak HR.EmployeeController, HR.NewEmployeeForm zakładając, że nazwa Twojej aplikacji to HR. Każda aplikacja, będąca oddzielnym projektem, pozwala również zespołowi programistycznemu być bardziej elastycznym w zakresie wdrażania! Główna wygrana.

Inni użytkownicy nie podjąć tego podejścia i jeden taki użytkownik wykresy wszystkie swoje projekty razem korzystaniu z zarządzanego podejścia iframe http://www.sencha.com/forum/showthread.php?243179

Asp.Net MVC jest kolejnym dobrym podejściem i może pozwolić Ci kilka funkcji, takich jak użytkownik auth etc .. ..

Mam nadzieję, że to pomoże!

+0

Przepraszamy za spóźnioną odpowiedź. Dziękuję za podzielenie się wrażeniami. Wygląda na to, że podjęcie drugiego podejścia jest drogą do zrobienia. Czy mógłbyś wyjaśnić więcej, koncentrując się na przekazywaniu informacji między komponentami? na przykład Mam projekt deski rozdzielczej na kilku oddzielnych projektach, kiedy jeden z nich dokonał zmiany, w jaki sposób odzwierciedlić aktualizację tego projektu deski rozdzielczej w odpowiedni sposób ExtJS? Oznacza to, że komunikacja między projektami. – Tom

Powiązane problemy