2009-08-27 27 views
7

SytuacjaPrzyspieszenie rozwoju sieci

pracuję nad projektem ostatnio gdzie rozwój UI wydaje się być zbyt czasochłonne. W tym przypadku "Reguły biznesowe" po stronie serwera są o wiele bardziej skomplikowane niż aspekty prezentacji w zakresie informatyki lub złożoności.

Znalazłem się drapiąc/waląc głową o ścianę z problemami z zachowaniem, które różnią się od intuicyjnego podejścia do bycia czarną dziurą czasu marnotrawstwa i złej dokumentacji, gdzie być może staram się uzyskać prosty element interfejsu użytkownika, aby poprawnie ustawić linię.

Nie narzekam; Rozumiem, że są złożoności i szerokie grono odbiorców do wspierania rozwoju sieci, ale jestem zakłopotany, jak długo zajmuje zrobienie tego, co wydaje się być łatwym elementem w porównaniu do tego, jak długo zajmuje napisanie kodu ze złożoną logiką, matematyką, nauką itp

Pytanie

Co ty myśli i osobiste doświadczenie, aby przejść od koncepcji do rzeczywistości z rozwojem sieci i zrobić to szybko, a przynajmniej w taki sposób, że można mieć poczucie, jak długo to może potrwać? Celowo nie wspomniałem o żadnych frameworkach i językach, ponieważ bardzo chciałbym tutaj wiedzieć, z jakich aplikacji internetowych korzystasz, jakie narzędzia lub najlepsze praktyki pomagają w szybszym załatwianiu spraw oraz w jaki sposób uzyskujesz kod, który nie wydaje się być całkowicie łamliwy i pełne hacków.

Hiperbola, preferencje językowe i wszystkie przemyślenia mile widziane, chciałbym przynajmniej poczuć to, co jest używane do tworzenia stron internetowych o wysokim wskaźniku powodzenia, nawet jeśli nie jest to najnowsza i najlepsza rzecz dookoła .

Dzięki za twój wkład.

-bn

Odpowiedz

8

Osobiście przekonałem się, że podzielenie wszystkiego na małe zadania pomaga.

Sposób Lubię projektować strony internetowe:

  1. Wyciągnij projektowania lub Photoshop go.
  2. Tworzenie HTML - bez CSS, bez stylizacji na wszystkich
  3. Teraz dodać w swoim stylu - podstawowy styl, jak pozycjonowanie, Zapisz dokonywania menu idealny do późniejszego
  4. połączenia z bazą danych w razie potrzeby/serwera kodu strona
  5. teraz dodać w dowolnym javascript, ajax potrzebne
  6. Tweak go do perfekcji

Jeśli masz to wszystko podzielone na małe zadania, kiedy się zrobić z siebie, czujesz się bardziej zmotywowani do dalszej pracy.

Tak jak powiedziałem, tak to robię i wydaje mi się, że dzieje się to szybko, zwłaszcza, że ​​pracuję tylko od 1 do 2 godzin na dobę.

+1

Osobiście wolę dodawać AJAX w absolutnej ostateczności, ponieważ może to doprowadzić do chaosu i utrudnić zmianę. – Evernoob

+0

Czy mógłbyś rozwinąć lub wspomnieć o tym, jak wiązałbyś się z tworzeniem kodu po stronie serwera? Wiele języków pozwala na osadzanie kodu HTML i kodu serwera, ale to sprawia, że ​​rzeczy stają się trudne z oczywistych powodów (jeśli nie, to kolejna dyskusja). Na jakiej fazie piszesz i łączycie w kodzie zwrotnym? –

+0

Krok 4 - Dodałem go powyżej – Martin

0

Używam projektantów interfejsu użytkownika. Są doskonałe do tego rodzaju rzeczy.

0

Przygotowuję swoje wymagania aplikacyjne na temat tego, co jest praktyczne, a czasem łatwe w zakresie pracy front-end.

2

Używam stosu .NET przez około 5 lat, stos ASP.NET MVC przez około 3 miesiące, a starego ASP przez 4 lata.

Kluczem do radzenia sobie ze złożonością jest jego złagodzenie. W swoim kodzie zawsze usuwaj złożoność do rozsądnego poziomu. Załóżmy na przykład, że istnieje 10 kroków do złożenia zamówienia. W takim przypadku na wyższym poziomie miałbyś metodę "SubmitOrder"; pod nim może być 10 wywołań metod wstawiania odpowiednich rekordów, zajmowania się inwentaryzacją i tak dalej. W każdej z tych "firmowych" warstw można sobie poradzić z tym problemem biznesowym, a nawet poniżej tych warstw można by się zajmować danymi i szczegółami mechanicznymi. Zaletą wszystkich tych warstw jest to, że każda warstwa zajmuje się kawałkiem pracy, a kiedy zbliżasz się do interfejsu użytkownika, masz "interfejs", który ma sens dla interfejsu użytkownika i sposobu, w jaki aplikacja musi pływ.

+0

Twój pierwszy akapit jest mylący. Proszę nie mówić mi, że używasz MVC jako młota. MVC nie powinno być używane, gdy potrzebujesz rzeczy takich jak ViewState i Postback, więc nie ma sensu nie używać kontrolek Telerik z MVC. – Martin

+0

Tylko komentarz o tym, że nie powinieneś używać MVC, jeśli używasz "kontroli zwrotnej". Będę edytować później. –

0

Moje firmy zajmują się głównie technologią .NET i z powodzeniem stosujemy szablony "poziomów sieci" dla warstwy dostępu do danych. Szablony są ładowane do generatora kodu CodeSmith i wskazywane na bazę danych. Rezultatem końcowym jest wszystko, co tylko możesz wymyślić. Wygeneruje ona DAL, serwis internetowy, bibliotekę interfejsu użytkownika WinForm, bibliotekę interfejsu WWW, przykładową stronę internetową i narzędzie administracyjne i wiele więcej. Doskonałe narzędzie do oszczędzania czasu opracowywania. Sprawdź to.

Jeśli chodzi o pracę z UI, to myślę, że może to faktycznie pomóc wynająć profesjonalistę. Mamy profesjonalnego projektanta, który współpracuje z nami. Wszystko, co robimy, to podłączenie interfejsu użytkownika do naszych komponentów i kodu interfejsu użytkownika.

1

Myślę, że trochę mylisz się z rozwojem interfejsu użytkownika. Rozwój interfejsu użytkownika jest trudny i zwykle niedoceniany pod względem ważności.

Konieczność poznania podstaw - zanim przejdziesz do HAML, poznaj swój kod HTML, aby wiedzieć, co usuwasz. Zanim przejdziesz do jQuery, poświęć czas, aby nauczyć się podstaw JavaScriptu - nie musisz być profesjonalistą, ale kiedy musisz dodać kilka liczb, powinieneś nie poszukać wtyczki. Miej dobre zrozumienie, jak układać style za pomocą CSS. Istnieje wiele tematów i technologii, dzięki którym nauczysz się być kompetentnym twórcą interfejsu WWW.

To powiedziawszy, dla rozwoju greenfield Rails jest całkiem słodki. Wybierz jQuery. I nie wybieraj platformy, która ukrywa, że ​​sieć naprawdę działa.

0

Aby przyspieszyć uzyskiwanie stronę HTML, który wygląda tak, jak chcesz:

pierwsze, decyduje się na projektowaniu i narysować to, co chcesz to wyglądać przy użyciu programu graficznego (jeśli masz projektanta UI one zrób ten krok). Następnie napisz statyczny HTML i CSS pasujący do tego, co narysowałeś. Gdy to zrobisz, napisz kod, który wyświetli kod HTML zgodny z formatem, który zdecydowałeś.

Zrobiłem to dla całkiem złożonego zestawu stanów dla aplikacji internetowej i odkryłem, że pierwsze ręczne pisanie kodu HTML i CSS bez konieczności zmagania się z programem serwera powoduje, że działa on znacznie szybciej.

3

Odpowiedź na to pytanie zależy od tego, czy pracujesz samodzielnie, czy prowadzisz grupę.

Jeśli prowadzące grupę będzie chciał rozpadają obowiązki jak:

  • Projektanci - Te osoby powinny właścicielem tworzenie makiet graficznych oraz tworzenie/utrzymanie CSS. Powinni oni być odpowiedzialni za CSS, aby wiedzieli, że nie będą tworzyli oburzających makiet graficznych, których nie da się stworzyć jako stron internetowych bez znacznego rozrostu kodu.

  • Znaczniki - Te osoby powinny być właścicielami tworzenia HTML, dostępności, semantyki, wymagań RDFa i wszelkich innych aspektów związanych z frontową strukturą danych.

  • UIT - Osoby te powinny posiadać JavaScript, wymagania dotyczące wydajności, wymagania dotyczące zarządzania treścią, proces wewnętrzny i narzędzia front-end/zarządzanie procesem, a także ogólnie najlepsze praktyki dla całego widocznego kodu klienta.

  • Zastosowania - Osoby te powinny posiadać opracowywanie kodu aplikacji po stronie serwera, tworzenie/utrzymywanie systemu zarządzania treścią oraz wymagania dotyczące dostępu do bazy danych. Osoby te są programistami aplikacji i usług i zapewniają interfejs dla personelu baz danych i usług.

  • Kontrola jakości - osoby te testują wszystkie wymagania biznesowe produktu końcowego w środowisku certyfikacji. Jeśli pojawią się błędy, błąd/bilet powinien zostać zaktualizowany i ponownie przydzielony. Prace nie zostaną zakończone do momentu, gdy znaki QA będą ważne.

  • Właściciel firmy - Właściciel firmy jest osobą/zespołem odpowiedzialnym za napisanie wstępnych wymagań projektu i podjęcie ostatecznej decyzji zatwierdzającej na temat wdrożenia projektu. Ta osoba nie powinna mieć żadnego interfejsu do procesu technologicznego poza opracowaniem wymagań biznesowych.

  • Kierownik projektu - ta osoba gwarantuje, że projekt stale się rozwija i że kamienie milowe są ukończone zgodnie z dowolnymi terminami. To właśnie ta osoba, a nie właściciel firmy, musi ingerować w proces technologiczny, aby zapewnić, że coś się dzieje. Ta osoba musi działać niezależnie od właściciela firmy i nie może służyć jako narzędzie dla firmy. Kierownik projektu nie może posiadać ani zalecać zmianom wymagań wobec personelu technicznego. Jeśli konieczne jest wprowadzenie zmian w wymaganiach, jest to jednokierunkowy proces od technologii przez menedżera projektu do właściciela firmy.

  • Przepływ rozwoju powinno być następujące:

    1) Projektanci stworzyć makietę graficzną, a następnie przypisać bilet bug/projektu do właściciela firmy projekt.

    2) Po zatwierdzeniu biznesowym bilet należy ponownie przydzielić do pracowników znaczników lub odrzucić z powrotem do projektu z konkretnymi wnioskami o zmianę.

    3) Markup zapisuje kod HTML i zawartość. Wszelkie wymagania dotyczące aplikacji lub bazy danych powinny być określone przez firmę przed rozpoczęciem projektu, a zespół ds. Oznaczania powinien pisać kod dla wszystkich możliwych scenariuszy. Struktura treści powinna odzwierciedlać organizację treści na wizualnym znaczniku całkowicie bez względu na prezentację. Bilet należy ponownie przypisać do projektu w celu utworzenia CSS.

    4) Projekt zapisuje CSS w celu dodania prezentacji zgodnie z utworzonym makietem graficznym. Zespół projektowy musi mieć dostęp do znaczników HTML, aby dodać atrybuty klas, jeśli jest to konieczne, ale nie może wprowadzać żadnych innych zmian. Bilet należy ponownie przydzielić do aplikacji, aby spełnić wszystkie wymagania po stronie serwera.

    5) Aplikacje powinny tworzyć wszystkie niezbędne wymagania dotyczące dostępu do bazy danych. Bilet należy ponownie przydzielić do UIT, jeśli poprzednie wymagania są zadowalające lub ponownie przypisane do znacznika w przypadku zmian/uzupełnień.

    6) UIT powinien być ostatnim krokiem do napisania interakcji JavaScript niezbędnych dla interfejsu użytkownika i wymagań AJAX. UIT powinien również udowodnić wcześniej ukończony znacznik dla zgodności ze standardami, wydajności i najlepszych praktyk.UIT powinien szybko odrzucić projekt, jeśli praca jest mniej akceptowalna. Jeśli wymagane są dodatkowe aplikacje, należy ponownie przypisać je do aplikacji, a następnie ponownie przypisać bilet do kontroli jakości.

    7) Kontrola jakości to końcowy przystanek technologiczny. Ci ludzie testują biznesowe i funkcjonalne wymagania końcowego produktu. Projekt nie może zostać wydany do produkcji bez znaku jakości. Jeśli wymaganie biznesowe nie powiedzie się, kontrola jakości nie może się wylogować. Po znaku QA bilet powinien zostać ponownie przypisany do właściciela firmy.

    8) Właściciel firmy recenzuje projekt i określa, czy zostały spełnione wszystkie wymagania. Jeśli zmiany/dodatki są wymagane, można je przesłać w tym momencie. Zmiany/uzupełnienia NIE MOGĄ być zgłaszane wcześniej, ponieważ częste zmiany opóźniają wszystkie projekty. Obowiązkiem właściciela firmy jest upewnienie się, że jego wstępne wymagania są kompletne i szczegółowe. Jeśli wymagania nie zostaną sprawdzone pod kątem pełności, to wina właściciela firmy, a zmiany można zgłaszać w tym momencie. To ze względu na tę odpowiedzialność i inne związane z nią obowiązki biznesowe, właściciel firmy zasługuje na więcej pieniędzy za mniejszy udział.

To najbardziej efektywny sposób na wykonanie pracy. Rozdzielenie obowiązków jest niezwykle ważne i niezwykle ważne jest przestrzeganie tego procesu. Jeśli te dwie rzeczy zawiodą, cały proces zawodzi, a poniesione przez niego koszty znacznie zwiększają koszty rozwoju.

Jeśli działasz samodzielnie, a nie jako część zespołu, nadal podążałbym za podobnym procesem i popychałam właściciela biznesu roli na klienta. Jeśli klient chce wprowadzić zmiany/dodatki przedwcześnie do zakończenia projektu, może zapłacić więcej pieniędzy, zmieniając aneks do zmiany pierwotnej umowy o wymaganiach. Nie tracisz zapłaty ze zwiększonej pracy, ponieważ klient nie może się z tym pogodzić. Jeśli to jest denerwujące, klient może zapłacić jeszcze więcej pieniędzy za anulowanie umowy. To nie znaczy, że to biznes. Jeśli twój czas nie jest wartościowym towarem, nie powinieneś być w biznesie tak jak na własną rękę.

+0

Analizowałeś proces i problemy na każdym kroku dość dobrze. Ale nie proponujesz żadnych rozwiązań. Pamiętaj, że głównym celem jest, aby komputery pracowały dla ludzi, a nie na odwrót. Powiedziawszy to, chciałbym usłyszeć pomysły na automatyzację i optymalizację każdego kroku tego procesu, aby osiągnąć szybki rozwój. –