Powiązane : Czy jako początkujący programista powinienem preferować tworzenie własnych bibliotek zamiast korzystania z bibliotek innych firm?
Czy jako programista PHP na poziomie średnio zaawansowanym i zaawansowanym, a także młody (15 lat), powinienem zbudować zupełnie nowy CMS na swojej stronie, czy polegać na gotowym oprogramowaniu, takim jak WordPress lub Drupal?
Nie do końca uważam, że WordPress jest wystarczająco potężny / skalowalny, aby móc poradzić sobie z tym, co próbuję zrobić, a po majsterkowaniu z Drupalem w ciągu ostatnich kilku dni nie wydaje mi się, aby spełniał moje oczekiwania a także nie jest dobrze udokumentowany, więc mam problem z wykonaniem pewnych prostych zadań. Ja uwielbiam użyć czegoś takiego jak ExpressionEngine, ale nie mam pieniędzy, aby rozdać na licencji komercyjnej, która jest obecnie na około 300 $, więc to no-go.
Początkowo zacząłem kodować moją witrynę jako system tymczasowy, aby moi użytkownicy mogli kupować aktualizacje i inne rzeczy, takie jak waluta w grze, dopóki nie mogę założyć nowej witryny, ale po uruchomieniu szybko zdałem sobie sprawę, że muszę ją skalować , więc odtąd kodowałem z myślą o stworzeniu w pełni funkcjonalnej strony internetowej. Zajęło to tylko kilka dni, ale wszystkie podstawy są już dostępne (rejestracja, logowanie, modyfikacje konta itp.) I uważam, że byłby to dobry początek dla prywatnego CMS.
Ostatnią rzeczą, którą chcę dodać jest to, że gdybym budował własny CMS, czy powinienem skorzystać z frameworka PHP, takiego jak CodeIgniter, z którym mam spore doświadczenie?
Może inni programiści mogliby mnie podpowiedzieć, w co się pakuję.
Odpowiedzi:
To zależy całkowicie od twojej sytuacji. Stworzono świetne strony z CMS-ami. Myślę, że powinniśmy najpierw zrozumieć dwa pojęcia, CO i TCO.
CO (koszt posiadania)
Gdy coś kupujesz, płacisz za to CO. W przypadku WordPress jest to nic, ponieważ WordPress (lub wiele innych programów CMS) jest bezpłatny.
TCO (całkowity koszt posiadania)
Wyobraź sobie, że kupujesz komputer za 10000 dolarów. Co wtedy Powinieneś poświęcić czas na instalację oprogramowania (czas jest cennym zasobem, więc nadal wydajesz pieniądze na ten komputer), a następnie możesz kupić kamerę internetową, inną nagrywarkę DVD i dodatkowe kable. Następnie musisz nauczyć się korzystać z zainstalowanego oprogramowania. Innymi słowy, całkowity koszt posiadania komputera nie wynosi 10 000 USD. To znacznie więcej.
W przypadku oprogramowania CMS ich CO jest naprawdę niczym dla bardzo niskich stawek. Ale wiele doświadczeń pokazuje, że ich całkowity koszt posiadania wcale nie jest niski. Duże firmy wydają prawie tysiące dolarów na dobrą stronę w Joomla lub WordPress.
Kolejnym czynnikiem jest poziom dostosowania . Czasami chcesz użyć oprogramowania jak jest bez żadnych zmian. W takim przypadku WordPress, Joomla, Drupal lub jakikolwiek inny CMS może być bardzo dobrym kandydatem i nie powinieneś pisać własnego CMS. Ale są chwile, kiedy potrzebujesz wysokiego poziomu personalizacji. W takim przypadku naprawdę frustruje Cię dostosowanie gotowego CMS do własnych wymagań.
Właściwie chciałem używać gotowego oprogramowania CMS, ale po spędzeniu cennego czasu na nauce różnych CMS i znajdowaniu słabości każdego z nich, ostatecznie stworzyłem własny CMS. Wyniki Myśli to moja osobista strona i jest budowana za pomocą tego CMS. Wkrótce go opublikuję, aby inni mogli z niego korzystać.
Jeszcze innym czynnikiem jest rozszerzalność . Uwierz mi, że stara się przenieść CMS ze stanu statycznego do stanu rozszerzalnego. Szablony, moduły, wtyczki, dostawcy, baza danych i pamięć masowa, mechanizmy routingu i prawie każda część dobrego CMS powinny być rozszerzalne.
W końcu moja osobista sugestia to rozpoczęcie budowy CMS, aby przynajmniej nauczyć się kilku podstawowych pojęć. Ale spróbuj także użyć już istniejących. Powodzenia.
źródło
Gram tu rzeczników diabłów, ale trzeba to powiedzieć. Niektóre z najczęstszych problemów z twórcami oprogramowania:
Jesteś pewien, że nie popełniasz żadnego z tych błędów, ponieważ nawet za 15 lat, 300 dolarów może zostać zarobione w ciągu kilku tygodni, a to, co wydajesz się proponować, może zająć miesiące. Zastanów się, co by się stało, gdybyś dostał płatną pracę i kupił ExpressionEngine za te pieniądze. Czy zostałby dostarczony wcześniej, z jeszcze lepszymi funkcjami niż praca dla majsterkowiczów?
źródło
Istnieją na to dwie odpowiedzi.
Jedno jest proste: nie - nie wymyślaj koła na nowo. Istnieje wiele doskonałych systemów CMS, a jeśli nauczysz się dobrze z nich korzystać, to jeśli potrzebujesz czegoś, czego nie oferuje, możesz skupić się bardziej na tworzeniu wtyczki do tego celu, a nie na nowo koło.
Drugi jest nieco mniej oczywisty: tak. Jeśli chcesz zrozumieć, jak działa CMS i problemy napotkane przy jego tworzeniu, budowanie własnego nie jest szkodliwe. Prawdopodobnie nigdy nie będzie miał mocy i elastyczności jednego z istniejących systemów CMS, a ponieważ istnieje około 100000000000 systemów zarządzania treścią PHP w tym miejscu, istnieje bardzo małe prawdopodobieństwo, że ktokolwiek inny będzie się nim zainteresować, ale również nie będzie masz rzeczy, których nie potrzebujesz i prawdopodobnie będą działać o wiele mniejsze i prostsze niż którykolwiek z większych systemów. Zajmie to dużo czasu, wyniki raczej nie będą tak dobre i nie będą miały znaczenia dla reszty świata, ale jeśli chodzi o rozwój i naukę, może to być przydatne ćwiczenie.
W każdym razie, zanim zaczniesz budować własne, wypróbuję dostępne systemy głównego nurtu, aby dowiedzieć się, jak działają, co robią dobrze i co uważasz, że mogą zrobić lepiej. Dobra znajomość tych informacji może pomóc w podjęciu decyzji, czy tworzenie własnych korzyści przynosi korzyści.
źródło
Jeśli nigdy nie próbowałeś programować CMS, może to być bardzo dobra okazja, aby to zrobić. Dowiesz się sporo i bez względu na to, czy go ukończysz, będziesz miał bardzo dobry pomysł np .:
Niektóre z nich mogą nawet oznaczać, że nauczyłeś się tego nie robić. To doświadczenie jest również ważne.
Osobiście doszedłem do etapu, w którym dowiedziałem się, że „jak ciężko może być” obejmuje tylko kilka procent pracy, którą faktycznie trzeba wykonać, aby stworzyć produkt wysokiej jakości, a jeśli miałbym wybrać CMS, szukałbym popularnego z dostępną bazą kodu i dobrą dokumentacją oraz dobrą architekturą wtyczek, która pozwala mi pisać odpowiednie wtyczki, a następnie aktualizować podstawowy CMS, gdy pojawi się nowa wersja.
źródło
To tylko nieznaczna odpowiedź na twoje pytanie. Zakładam, że jesteś php i nie wybierasz gotowego systemu CMS. Witaj w klubie! Wielu z nas poszło tą samą drogą. Jakaś rada, która może zmniejszyć obciążenie.
Zaczynałem od budowy własnego CMS-a, implementacji MVC, obsługi internacjonalizacji (i18n), obsługi sesji, jakiegoś sposobu warstwy abstrakcji bazy danych, jakiegoś sposobu obsługi formularzy itp. A potem dowiedziałem się, że to, co robiłem, zostało zrobione wcześniej, ale w lepszy sposób dzięki ramom. Oznacza to, że nie musisz całkowicie wymyślać koła, ale dokładnie tam, gdzie pasuje do twoich potrzeb. Ramy ułatwiają ci życie, ale wymagają dużo wysiłku, aby czytać i uczyć się. Zajęło mi rok, aby naprawdę opanować Symfony i nie żałuję ani chwili.
I masz szczęście, ponieważ w tej chwili jest o wiele więcej wysokiej jakości ram niż wcześniej. By wymienić tylko kilka :
CakePHP : Użyłem go dawno temu i nie mogłem przejść przez dokumentację. Najwyraźniej jest to teraz lepsze i prawdopodobnie warte rozważenia.
Yii : Nie korzystałem z niego, ale ostatnio dużo się o nim martwi, prawdopodobnie warte Twojej uwagi.
CodeIgniter : słyszałem, że wiele osób chwali Codeigniter za łatwą krzywą uczenia się i łatwość użytkowania. Nie użyłem tego.
Jeśli chcesz wypróbować Python, wiele osób chwali również Django i oczywiście rubin na szynach.
Prawdopodobnie jest ich więcej, ale powinno ci się to przydać. Jeśli nie chcesz ich używać, możesz się wiele nauczyć z tych ram. Powodzenia!
źródło
Odpowiedź w dużej mierze zależy od tego, co próbujesz osiągnąć.
Jeśli zamierzasz rozwijać swoje umiejętności, dowiedzieć się o zarządzaniu treścią itp. Zatem tak, zdecydowanie, rozwijaj własne. Podobnie, jeśli chcesz nauczyć się frameworka, użyj go.
Jeśli jednak skupiasz się na grze, o której wspominasz, i jej graczach, odpowiedź jest prawie na pewno nie. Twój czas jest ograniczonym, a zatem drogim zasobem. Czas poświęcony na rozwijanie CMS to czas, który nie spędza się na rozwijaniu gry i to ona generuje przychody. Więc zadaj sobie pytanie. Czy czas spędzony na rozwijaniu tego CMSa zamiast na zdobywaniu go, aby poprawić wrażenia z gry, jest czymś więcej niż czasem poświęconym na rozwijanie gry? Jeśli odpowiedź brzmi „tak”, opracuj ją, w przeciwnym razie nie.
Podobnie decyzja CMS o otwartym kodzie źródłowym nad ExpressionEngine powinna sprowadzać się do ToC, jak mówi Saeed. Po prostu, jeśli Koszt (Wordpress)> Koszt (ExpressionEngine), a następnie wydaj 300 USD. Tutaj koszt to koszt zakupu + (godziny_do_dostosowania * twoja_godzina_rata).
źródło
Znajdź CMS, który odpowiada 90% Twoich potrzeb i modyfikuj go z czasem, aby dodać funkcjonalność, której nie zapewnia.
Umożliwi to wcześniejsze uruchomienie i dostosowanie w miarę zmian potrzeb użytkownika i użytkownika.
źródło
W pełni zachęcam do zbudowania własnego CMS. Jest to zdecydowanie najlepszy sposób na poznanie tajników takiego systemu w zakresie dostosowywania i bezpieczeństwa. Ale muszę zapytać, jak bardzo zaawansowany jesteś w swoich umiejętnościach PHP. Uwierz mi, to nie dotyczy twojego wieku.
Flaga dla mnie brzmiała: „Nie do końca uważam, że WordPress jest wystarczająco potężny / skalowalny, aby móc poradzić sobie z tym, co próbuję zrobić, a po majsterkowaniu z Drupalem dość długo w ciągu ostatnich kilku dni po prostu nie wydaje się na równi z moimi upodobaniami, a także nie jest dobrze udokumentowane, więc mam problem z wykonaniem pewnych prostych zadań. ”
Mnóstwo książek i stron na temat dostosowywania Worpress i Drupal, nie wspominając o popularnych profilach, które na nich działają, dowodzi, że musisz wiedzieć, co robisz, dostać takie witryny. Nie wspominając o tym, że na te witryny przeznaczane są całe budżety.
Linki na przykład:
http://drupal.org/cases
http://wpmu.org/wordpress-showcase-20-high-profile-sites-running-on-wordpress
Nie ma to na celu zniechęcenia do tego, co próbujesz zrobić, na pewno idź. Chcę się tylko upewnić, że nie poświęcisz zbyt wiele czasu (odkrywając na nowo koło) i w pewnym momencie poczujesz frustrację i po prostu powiesz „efekt”, kiedy możesz rozwinąć swoje talenty i pokazać ludziom, w tym pracodawcom , co masz dzięki obecnie dostępnym narzędziom. W realnym świecie i obecnej gospodarce czas to pieniądz, a firmy i organizacje nie mają czasu i / lub budżetów na ciągłe zajmowanie się tworzeniem projektów od zera.
Dzisiejsze informacje poruszają się z prędkością światła, dlatego programiści, którzy potrafią oddzielić hałas i tworzyć celowe treści / aplikacje / systemy we właściwym czasie realizacji, są bardzo poszukiwani.
źródło
Tylko Ty możesz odpowiedzieć, czy Wordpress lub Drupal może zrobić to, czego potrzebujesz do CMS, ale jeśli chcesz je wypróbować, dlaczego nie skorzystać z maszyny wirtualnej z Turnkey Linux , takiej jak Wordpress , Drupal , Joomla lub dowolnej z pozostałe ze znacznikiem zarządzania treścią .
Zakładając, że masz już zainstalowany VMware Player lub VirtualBox , w ciągu kilku minut od pobrania dowolnego z tych urządzeń możesz samodzielnie wypróbować oprogramowanie przy minimalnym nakładzie czasu.
źródło