Podejście do projektu (programistyczne), metody "na topie" - dyskusja

0

Obijam się codziennie o setki linijek kodu. Często gubię, zastanawiam - momentami brak mi dobrego podejścia programistycznego.
Mam na myśli to jakimi schematami i wzorcami należy się kierować. Pomijając nazewnictwo, spójność,chodzi mi o sprawy czysto formalne. Inaczej mówiąc logikę działania.
Tworząc nowy projekt (bez użycia gotowych rozwiązań [Frameworki, cmsy] ) staram się stosować zasadę od ogółu do szczegółu. Ten etap wymaga jedynie kartki papieru, ołówka i dobrej lektury czysto teoretycznej. Co rusz pojawią się coś nowego i świadomość tego stwarza często uczucie zacofania.

Chciałbym podjąć w tym temacie dyskusję która :obejmuje poniższe zagadnienia oraz pozwoli nam odpowiedzieć na kilka (tak mi się wydaje) istotnych pytań.

  • Jakimi wzorcami kierujecie się przy budowie aplikacji? (chodzi mi głównie o PHP obiektowy)
  • Jak u Was drodzy użytkownicy wygląda proces tworzenia jakiejkolwiek aplikacji sieciowej? (od strony teoretycznej jak i logicznej)
  • W jaki sposób zabezpieczacie Wasze strony? (ogólne podejście do zagadnienia)
  • Powszechna opinia stawia na PHP, aczkolwiek nie każdy widzi w nim rozwiązanie. Czy jest coś równie konkurencyjnego?
  • Wydajność - temat bardzo istotny. Czy posiadacie sprawdzone metody które pozwalają Wam na pomiar wydajności aplikacji?
  • Responsive design - podejście / odczucia / zastosowanie
  • Jak utrzymać tempo? Co dziś jest 'na topie'?

Z innej beczki

  • jeżeli ktoś miał styczność z kursami oferowanymi przez eduweb.pl- jaka jest Wasza opinia na temat ich metodyki? czy informacje zawarte w kursach są według Was rzetelne? (osobiście muszę przyznać że wychowałem się na ich kursach)

być może nie sprecyzowałem w niektórych przypadkach kierunku dyskusji - chodzi mi głównie o technologie internetowe.

Wszelkiej maści materiały z których można co nieco zaczerpnąć mile widziane.

Zapraszam do dyskusji.

0

Jeśli można wiedzieć to czego ma dotyczyć ta dyskusja? Gdzie responsive design, a gdzie PHP objektowy. Temat dotyka wszystkiego po trochu a co cytując poetę: "Co jest do wszystkiego jest do niczego." :) Osobiscie wydaje mi się, że nie potrafisz rozdzielić front-endu od back-endu i dlatego taki temat.

A żeby mój temat był choć trochę przydatny to jeśli chodzi o trendy w projektowaniu (front-end) stron (czy już może aplikacji internetowych) to polecam themeforest.net

0

Pytania dosyć ogólne i odpowiedzi mogą być bardzo różne w zależności od tego, co tworzysz. Generalnie jeśli tworzysz aplikacje internetowe typu CMS (czy też ogólnie CRUD), znasz PHP i JS, to bodaj najlepszym podejściem jest pełne rozdzielenie front-endu od back-endu poprzez zastosowanie jednego z JavaScript-owych frameworków (Angular.js, Backbone.js/Marionette.js, Ember.js, React.js etc.) dla front-endu oraz komunikującego się z taką aplikacją przeglądarkową back-endu stworzonego w jednym z języków działających po stronie serwera (PHP, Python, Java, czy też cokolwiek innego), plus oczywiście jakaś baza danych - komunikacja pomiędzy klientem, a serwerem może być realizowana poprzez REST API. Takie podejście wpływa pozytywnie między innymi na:

  • Wydajność, bo główne komponenty aplikacji klienta (np. jQuery i inne skrypty) są najczęściej tylko raz ładowane (zamiast najczęściej za każdym razem z każdym przeładowaniem aplikacji), po ewentualnym zalogowaniu, a aplikacja pobiera AJAX-em tylko te dane z serwera (mniejszą porcję, a więc i szybciej to trwa), która dotyczy danej akcji w aplikacji i przeładowuje tylko ten fragment aplikacji, który tej pobranej treści dotyczy,

  • Lepszą czytelność kodu, poprzez niemal pełne odseparowanie kodu działającego w przeglądarce od kodu działającego po stronie serwera oraz niezależność aplikacji klienckiej od aplikacji serwerowej, dodatkowo tworzysz skonkretyzowaną metodę komunikacji aplikacji serwerowej z klientami z niej korzystającymi poprzez REST API,

  • Możliwość działania takiej aplikacji w przeglądarce offline, z późniejszą synchronizacją danych na serwerze, chociaż korzystając z PHP może być ciężej taki efekt uzyskać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1