Autor Zpráva
SEID
Profil *
Dobrý deň,

s postupom času sa chcem priblížiť k vytvoreniu vlastného CMS, ale neviem ako začať, akými jazykmi sa zaoberať...

Chcem vytvoriť niečo na báze estranok, alebo wordpress, aby si ludia mohli sami z vybranych tem zvolit a len upravovať texty,,

prišiel som nato, že budem potrebovať samozrejme html, css, ale aj php, mysql a apache...

nemýlim sa?

ďakujem
Fisir
Profil
Reaguji na SEIDa:
apache
Apache je webový server. Ten si budeš muset maximálně nakonfigurovat.

Z tvého dotazu vidím, že jsi začátečník. Počítej s tím, že abys dokázal vyprodukovat něco použitelného bude trvat dlouhou dobu.
mlasevic
Profil
Ahoj, určitě se nemýlíš, ale trochu jsi to smíchal dohromady.

Je tam toho ale daleko více - určitě asi začít psát nad nějakým php frameworkem ... jo a tady asi začni koketovat s jQuery......

Nicméně v dnešní době, kdy existují špičkové open source CMS, vyvíjet něco jako wordpress atp. asi nemá smysl (leda by sis chtěl něco dokázat nebo se něco více naučit - což mi z Tvého příspěvku vychází, že toho v této oblasti moc nevíš).

Navíc tak sebe (a potencionální uživatele) připravíš o možnosti dalších doplňků jiných programátorů či společností.

A jako potencionální uživatel bych taky raději volil CMS, kde je dobrá podpora a kde nejsem v případě neshody s dodavatelem odsouzen k tomu znova nechat udělat celý web.

Když už se chceš učit, tak si raději vem nějaký zaběhnutý CMS a zkus do něj naprogramovat nějaký add-on.
SEID
Profil *
nepotrebujem to dávať verejnosti a ani nijak sa nabaliť na CMS podobnom Wordpress-u.

preto som to dal ako druhú možnosť, skôr mi ide o vytvorenie niečoho podobného k tým estránkam, prípadne webnode, alebo akejkoľvek firme kt. ponúka e-shopy na šablóny, kde len pridávate produkty a popisy...

ďakujem Vám zatiaľ
Anonymní
Profil *
Ano je pravda, že vytvářet nový CMS v době kdy existuje mnoho opensource CMS je trošku zbytečné, ale tak proč ne.. SEID je nejspíše začátečník a začátečníci většinou nemají problém v tom, že by neměli chuť se učit novým věcem, ale v tom, že prostě nevědí co dělat a podle mě CMS je ideální volba, protože si tam prostě dotyčný osvojí základy a prostě už s danou technologií nějak pracuje a vidí nějaké výsledky - což je motivující. Je jedno, že výsledek bude stát za nic, ale prostě člověk si uvědomí ty chyby co udělal a příště je už neudělá(většinou)..

A teď k původnímu dotazu: Pro nějaký základnější CMS budeš potřebovat již zmiňované HTML, CSS aby to bylo uživatelsky přijatelnější můžeš se naučit i Javascript(ale prostě napíšeš web. aplikaci i bez toho) . Poté budeš potřebovat serverový jazyk - PHP, C#,Visual Basic, Java, Ruby, Python.. (nějak si ty jazyky projeď, výhodou C#, či třeba Visual Basicu je to, že můžeš relativně jednoduše přejít z tvorby webových aplikací na tvorbu okenních aplikací, ovšem nevýhodou je, že si za hosting oproti PHP docela připlatíš) a pak ještě SQL.. Když tohle všechno budeš umět tak na střední úrovni tak věřím že dokážeš prostě nějaký slušnější CMS napsat, horší je, že ho lidi stejnak nebudou používat, protože prostě asi nic lepšího než wordpress už neuděláš..

Nyní stačí popřát mnoho štěstí, nenech se odradit neúspěchem, začátky budou nejtěžší a k nějakému "programátorskému úspěchu" je cesta příšerně dlouhá..
SEID
Profil *
Anonymní ďakujem presne toto som potreboval, ale ako som sa tak díval na hostingy tak asi začnem s tým php+SQL a hlavne ďakujem za podporu.

Ešte však jedna otázka, viem, že to sem nepatrí ale nechcem vytvárať nové téma.

Som začiatočníkom xhtml a css a veľakrát som sa stretol s pojmom javascript, ale ešte nikdy som sa neocitol s tým, že by som mal potrebu to využiť. A preto, len tak v krátkosti, čo všetko môžem vytvoriť pomocou javascriptu? Poprosím niečo v príkladoch, veľmi by mi to pomohlo, čo som hladal, bolo písane moc poučkovito a žiadný príklad.
aDAm
Profil
s pomocí serverového js klidně celou aplikaci eshopu apod.
anonymníí
Profil *
aDAm:
Plácáš kraviny.

SEID:
Na jQuery zapomeň (alespoň zatím), na PHP frameworky zatím také. Bez toho, aniž bys uměl nativní jazyk, jsou ti frameworky k ničemu.

Ohledně JavaScriptu: zjednodušeně řečeno slouží ke všemu, co reaguji na interakci uživatele (klik, stisk klávesy, ...). Praktické příklady mohou být například:
- zabránění odeslání formuláře, pokud je vyplněn nesprávně (vůbec se neodešle na server)
- časování událostí: udělej akci X sekund po té, co [najedu myší někam, kliknu, ...]
- u pokročilejších aplikací (znát budeš jistě chat) může i posílat/přijímat data na/ze server/u, aniž bys musel stránku refreshovat, což je u chatu vhodné

Užití je samozřejmě celá řada, ale ty ho (zatím) potřebovat nebudeš.
aDAm
Profil
anonymníí:
seš si jistý? Node.js, meteor atd je tedy kravina?
DobráKlávesnice
Profil *
Zakladateli bych doporučil se vyprdnout na PHP a zkusit právě zmiňované Node.js. Javascript se tak využije i u klienta, i na serveru. Také je Node.js lepší v mnoha ohledech, např. že se může v klidu něco počítat na pozadí, proces běží stále. Např. můžu u jednoho požadavku nastavit proměnnou a ve druhém přečíst. Z toho vyplývá výhoda cache přímo v RAM. Také např. při komunikaci s MySQL (a obecně při nějakém pomalém IO) jde spustit více věcí najednou, ne jako v PHP kde se to musí spouštět postupně.
anonymníí
Profil *
aDAm:
seš si jistý? Node.js, meteor atd je tedy kravina?
Pro začátečníka, který potřebuje udat směr (tedy, že JS je klientský prog. jazyk, ne serverový), je to zbytečná informace. Plácání.
DobráKlávesnice
Profil *
anonymníí:
Pro začátečníka, který potřebuje udat směr (tedy, že JS je klientský prog. jazyk, ne serverový), je to zbytečná informace. Plácání.
Pro začátečníka je hlavně důležité, že se místo 4 jazyků (PHP, HTML, CSS, JS) bude učit jen 3 (HTML, CSS, JS).
aDAm
Profil
anonymníí:
což je samořejmě jen tvůj pohled, takže si příště prosím odpusť podobné příspěvky. Vzhledem k tomu že tazatel je začátečník tak by se mu třeba hodilo info o tom že weby může psát i třeba v serverovém JS a začít se učit tuto novou technologii.
SEID
Profil *
ďakujem Vám všetkým za príspevky a rady, vážim si to :)

ale ďalšia vec, čo ak ma používateľ zakázaný javascript v prehliadači? v tom prípade bude CMS nefunkčný ak bude písaný v javascripte? neviem si to vysvetliť...

hľadal som niečo na čom by som Vám chcel objasniť čo presnejšie požadujem, keďže som to neobjasnil 100%ne. Narazil som na web, sprostredkovateľský web, poskytujúci tvorbu webu a eshopov (lemonlion.sk), pozeral som zdrojové kódy vytvorených stránok kde majú cez javascript vytvorenú skratku alt+a pre prihlásenie do administrácie (včom presne spočíva ich administračný CMS?) zdá sa mi,že taktiež to maju vytvorené len kombináciou html+css+javascript nemýlim sa?

A ich eshopy sú taktiež tvorené v javascript?
_es
Profil
SEID:
ale ďalšia vec, čo ak ma používateľ zakázaný javascript v prehliadači? v tom prípade bude CMS nefunkčný ak bude písaný v javascripte?
Môže to byť spravené tak, aby bola aspoň základná funkčnosť zachovaná aj s vypnutým/nefunkčným JavaScriptom.
SpatnaKlavesnice
Profil *
Musis rozlisit JS u klienta a JS na serveru. Jsou to dve rozdilne veci. Js u klienta pouzivas normalne pres <script> ale js na serveru poustis pres Node. Kdyz si klient vypne JS, ovlivni to pouze to klientske JS, serverove pobezi dal. Take klient nema moznost si precist serverove js (PHP si taky neprectes), server posila klientovi pouze HTML, CSS a popr. klientske JS.
SEID
Profil *
aha, už rozumiem, takže nedá sa zistiť ako je CMS vytvorené u poskytovatelov?
SpatnaKlavesnice
Profil *
Ne, neda.
Amunak
Profil
DobráKlávesnice, aDAm:
Anebo se může naučit céčko - to je jen jeden jazyk. Aplikace, které v něm bude dělat, toho dokážou daleko víc než nějaké PHP, HTML a Javascript. A bude mít třeba i lepší uplatnění jako programátor.

Co kdybychom tu radili používat jazyky, na které existují osvědčené tutoriály v češtině a dá se na ně za slušnou cenu sehnat hosting? Jazyky, pro které jde rozjet lokální testovací server na pár kliknutí? A nepletli začátečníkům hlavu rozdílem mezi serverovým a klientským javascriptem (který bych raději pořád rozlišoval jako javascript a Node.js), když i tak sotva tuší, co to vlastně znamená?

SEID:
Nevím, jak moc rozumíš HTML a CSS, ale prvně bys měl začít právě tím. Nauč se alespoň základy, měl bys umět vytvořit nějaký základní layout. Jak psát web je ideální místo kde začít. Javascript klidně zatím pusť z hlavy. Pokud chceš skutečně začít programovat vlastní redakční systém (nebo hru, fórum nebo něco podobného), vrhni se na PHP. Můžeš začít učebnicí kterou vytváří zdejší zkušení diskutéři; dalším dobrým zdrojem informací je třeba Seriál o PHP na Linuxsoftu. Je sice staršího data, ale velká část je stále aktuální a pro začátečníka to bude stačit. Říkám vypusť JS proto, protože bez serverového jazyka se u takového projektu neobejdeš, a klientský JS je volitelný. Ostatně ani velká znalost CSS není nezbytně nutná. Důležité je chápat jak spolu klient a server komunikuje, a na to ti stačí základy HTML.

Jaký systém kdo používá se často můžeš dozvědět tak, že bude jeho jméno (nebo autor) uvedený v patičce webu nebo v komentáři v kódu. Pokud ne, pravděpodobně jde o nějaký systém vytvořený na míru. I tak ale za zeptání nic nedáš, takže klidně můžeš majitele toho webu kontaktovat a zeptat se ho (anebo nám tady pošli odkaz; pravděpodobně poznáme, jestli jde o nějaké „klasické“ CMS). Jinak rozebírání cizích kódů (hlavně jednodušších) a jejich pochopení je taky dobrá cesta jak se učit.
DobráKlávesnice
Profil *
Tak já jako nevim, ale mě se zdá Node na rozjetí ještě jednodužší než PHP. Stačí dva příkazy:
apt-get install node npm
npm init

A může začít kódit.

// Načte http modul a uloží ho do proměnný
var http = require('http');

// založí nový HTTP server, který bude odpovídat textem Hello World na všechny požadavky
var server = http.createServer(function (pozadavek, response) {
  response.writeHead(200, {"Content-Type": "text/plain"}); // Hlavička HTTP/1.1 OK, text/plain je typ souboru
  response.end("Hello World\n");
});

// Spustí server na localhost:8000
server.listen(8000);

// Vypise do terminalu
console.log("Server bezi na http://127.0.0.1:8000/");

Uložíš to do nějakého souboru, pak napíšeš node jmenosouboru a už to jede :)
Amunak
Profil
DobráKlávesnice:
„'apt-get' is not recognized as an internal or external command, operable program or batch file.“
Podle čeho usuzuješ, že je dotyčný na linuxu s APT?

Ale i kdyby byl, nemyslíš, že je snazší nainstalovat Apache+PHP s tím, že stačí vytvořit .php soubor, cokoliv do něj napsat a „cokoilv“ se pak zobrazí uživateli v prohlížeči? Aniž by dotyčný musel vědět cokočítání modulů v Node, vytváření serveru a hlavičkách?

Pořád se domnívám, že radit začátečníkům ať začnou s Node je hloupé. Ostatně máš tedy nějaký kvalitní český tutoriál pro začátečníky? Jestli ne, asi by bylo lepší, kdyby sis Node nechal pro sebe, nebo pokročilé programátory, kteří něco takového ocení a nezamotá jim to hlavu.
aDAm
Profil
Takže je lepší když začně v podstatě na jednoduchém PHP, bude procháze tisíce tutorialů co za celou dobu vznikly, nehledě na to že poměrně velké množství je zastaralé či špatné takže výsledek bude stejný jako kdyby začal na EN článcích a nových technologiích jo?
Amunak
Profil
Hmmm, nezvrhlo se to tu už trochu moc?

aDAm:
Navrhl jsem dva tutoriály, které by mu jako začátečníkovi měly bohatě stačit. To nejsou tisíce. A jen jeden z nich je částečně neaktuální. Není to nic, co se nedá napravit. Zas tolik se ten jazyk nezměnil. Pár funkcí je deprecated, pár postupů se dnes považuje za nebezpečné anebo mají lepší alternativy (escapování, mysql_*, ereg_*). Pořád čekám, kdy jeden z vás přijde s kvalitním tutoriálem na Node.js. S takovým, který pochopí snadno i začátečník, který webovým technologiím zatím rozumí jen jako uživatel a s programováním se nesetkal. Třeba i v angličtině, ikdyž by to pro dotyčného byla pravděpodobně zbytečná překážka.

Co vás vůbec vede k tomu takhle lobovat za jednu technologii? Obrovská výhoda PHP je taky v tom, že je to jazyk, s nímž kdejaký programátor začínal. Na stackowerflow jsou statisíce zodpovězených dotazů. Na webu jsou tisíce hotových skriptů ze kterých se dá dobře učit. Jsou hotové spousty kvalitních open source aplikací, z nichž jde taky čerpat. Téměř každý, kdo má co dělat do vývoje webu, se s PHP setkal, a byl by začátečníkovi schopný poradit. Kolik lidí by mu poradilo s Node? Kolik lidí by to zvládlo třeba tady na diskuzi?

Takže ano, je lepší začít jednoduchým, nenáročným skriptovacím jazykem, a pak svoje znalosti rozšiřovat a opravovat chyby. Tomu se, když začínáš, stejně nevyhneš. Takže můžeš rovnou začít s něčím přístupným a jednoduchým. I kdyby sis pak měl říct, že už na to nikdy nešáhneš, protože je to otřesný a zprasený jazyk. Ale snadno se na tom naučíš programovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: