Jump to content
php.lv forumi
Sign in to follow this  
gurkjis

pieņemu darbus

Recommended Posts

Labdien!

Pieņemu gabaldarbus, bet var arī pastāvīgu, man tikai vajag nepārtrauktu plūsmu ar web projektiem. Ir 5 gadu pieredze ar web tehnoloģijām.

 

Ir tikai viens nosacījums: es strādāšu ar sevis rakstīto web framework un CMS, attiecīgi man vajag projektus, kuri jāraksta no nulles. Ir doma frameworku attīstīt tālāk un kaut kad palaist tautās bez maksas, nu tā normāli - ar skaistu saitu, dokumentāciju, utt.

 

Sūtiet PM.

Share this post


Link to post
Share on other sites

Nu man ir kaudze ar idejām, kuras nezin kādēļ nav citos frameworkos, un tā mana izpratne, kā lietām vajadzētu būt, ir tāda nu tiešām nestandarta. Daļu tās esmu aizguvis no custom sistēmām, pie kurām esmu strādājis, taču OSS frameworkos neredzu. Pamatideja - automatizēt uzdevumus, kuri ikdienā bieži jādara ar roku - labāk lai tos dara sistēma! Datoriem ir jākalpo cilvēkiem, nevis otrādi. 

 

Piemēram, kas man liekas absolute MUST have, bet frameworkos tāda fīča nav iebūvēta (ja nu vienīgi ar kādu pluginu): CSS un JS failu inkludošana un dependenciju pārvaldīšana. Kāpēc man ar roku jāiet uz templeitu, kur atrodas HEAD tags, un jāliek manuāli iekšā? Un ja nu man ir gigantiska sistēma, kur ir 100 moduļi,kas izmanto dažādus CSS un JS failus, es tak nelikšu visus HEADā manuāli. Kuru moduli inkludējam, tad tas arī inkludē nepieciešamos CSS un JS.

JS failu aliasi - es izsaucu includeJS('jquery'), bet configā ir norādīts links uz konkrētu JS failu. Nodrošina vieglu versijas izmaiņu vai ceļa maiņu.

 

Templeitu sistēma: man vajag programmējamus templeitus ar custom tagiem, kurus pēc nepieciešamības var pieprogrammēt klāt. Tas ir - paņem servera pusē ielasa custom markupu, apstrādā datus un beigās izdrukā ārā rezultātu. Piemērs, kā templeits izskatās: http://pastebin.com/M2XxRun8

- šeit piemērā ir Form objekts, kurš ielasa tagus un ļauj tos modificēt (ielasa, validē laukus), pēc tam to tagu vietā izvada attiecīgus HTML tagus ar aizpildītiem atribūtiem. 

 

Vēl - kāpēc man būtu jāizmanto oldschool AJAX , ja mūsdienu browseri atbalsta socketus ? Servera pusē, piemēram, Node.js. Protams, fallback mehānisms jānodrošina.

 

Visiem skatiem ir servera ViewController, + arī klienta pusē ir attiecīga ViewController klase, un tie savā starpā var komunicēt ar eventiem. Eventus, protams, transportē ar mehānismu, ko pārlūks nodrošina (socket.io, AJAX).

 

Routings - nepatīk man definēt ar regexiem. Man ir tā, URL path sadala pa segmentiem, un tad tos padod RouteController.dispatch() , kas attiecīgi pats izlemj, vai izmest 404 statusu, veikt redirektu, vai inicializēt konkrētus skatus. Vai padod dziļāk uz citu RouteController.

 

HTML5 navigācija - es izmainu URLi bez pilnas lapas pārlādes - sistēma pati izrēķina, kurus skatus vajag pārlādēt vai kurus izmest ārā, vai arī, ja vajag, tomēr veic pilnas lapas pārlādi. Protams, fallback, lai darbojas bez JS/HTML5.

 

Visu rakstu Haxe valodā, bet target platformas ir PHP, Neko, un var arī Node.js sataisīt. Visos gadījumos socket serveris vai parastā metode - ar Apache moduli (izņemot Node.js).

Edited by gurkjis

Share this post


Link to post
Share on other sites

Principā visas tās lietas, ko tu uzrakstīji, ir iespējams, kaut vai, paņemot to pašu Kohanu, taisīt kā moduli.

 

Templeitu sistēma? Uztaisi savu custom View klasi, kas extendo iebūvēto.

 

JS versionēšana? Base kontrolierī metode, kuri saki, ko iekļaut un <head> tagā ar helperi cikllā visu izdrukā

 

Neredzu problēmu AJAX izmantot kā tīk. Ietvars taču neko neuzspiež.

 

Routingu arī var uzrakstīt kādu vajag.

 

HTML5 navigācija - tas viss ir implementējams ar JS, Ietvars neko neuzspiež.

 

Haxe valoda? Izklausās, ka baigā eksotika. Cik projektus esi kompilējis uz citām platformām? Šis varētu būt sāpīgs aspekts klientam. Kā pēc tam atrast kādu programmētāju, kas varētu turpināt projektu?

 

My 2 cents..

 

P.S. Tevis minētā tpl valoda izskatās mega overheads, neredzu pilnīgi nekādu jēgu, to visu noteikti var panākt ar tīru php, bet kaut kādām mahinācijām ar string virknēm..

Share this post


Link to post
Share on other sites

Ok bet tad jau sanāk tā, ka es pusi no piedāvātas standarta funkcionalitātes neizmantoju, bet pierakstu klāt, beigās bloats baigais ? Bet nu labi tas ir tā - piekasišanās. Katram jau savs.

 

Tās lietas, ko aprakstīju piem. navigācija - domāju,ka tam ir jābūt standartā un bez nekādas konfigošanas, kopā ar frameworku automātiski lai darbojas.

 

Vēl nevienu reālu saitu uz citām platformām neesmu kompilējis - tas viss jātestē, bet cik patestēju - PHP targets darbojas. Performance gan jāsalīdzina. Izskatās, ka PHP neatbalsta in-memory objektu kešu. APC grib serializēt kā stringu. Žēl. Bet nu socket servera gadījumā varēs arī in-memory kešot objektus. Bet memcached papildinājums neatbalsta kompleksus PHP objektus - tikai simple vērtības, t.i. stringus, integerus, tātad objekti arī būtu jāserializē.

 

Pati valodas sintakse ir līdzīga Javascript, tā kā piešauties nebūtu problēmu. Haxe komūna lēnām, bet aug. Man pat ir doma uztaisīt online Haxe IDE, kur tu piereģistrē kontu un turpat browserī jau kodē augšā savu saitu, lai jauniņajiem nav visi tie scary svešu sistēmu instalācijas procesi "jābauda". 

 

Par templeitu valodu - ja gribi palikt pie PHP, tad Tavs ieteikums strādā. Es dodu cilvēkiem iespēju tikt prom no PHP - tie kuri grib. Nav tur overheads, jo noparsētais templeits glabājas in-memory kešā kā gatavs, lietojams objekts. Re-parse tikai pie faila modifikācijām. Bet performances es testēšu vēl.

Edited by gurkjis

Share this post


Link to post
Share on other sites

Man arī ir savs freimworks, tiesa, ļoti vienkāršs, jo man tuvs sirdij KISS princips. Reāli visa pamatdarbība norisinās ~4 diezgan īsos failos (max. 300 līnijas), pārējais ir lietotāja izveidotie moduļi, kontrolieri, viewi, modeļi, whatever else you need. Visi tie freimworki, kurus esmu skatījies, liekas pārāk smagi, piebāzti ar nevajadzīgām fīčām un, IMHO, prasa pārāk daudz laika, lai tos kārtīgi apgūtu.

Edited by jurchiks

Share this post


Link to post
Share on other sites
Piemēram, kas man liekas absolute MUST have, bet frameworkos tāda fīča nav iebūvēta (ja nu vienīgi ar kādu pluginu): CSS un JS failu inkludošana un dependenciju pārvaldīšana. Kāpēc man ar roku jāiet uz templeitu, kur atrodas HEAD tags, un jāliek manuāli iekšā? Un ja nu man ir gigantiska sistēma, kur ir 100 moduļi,kas izmanto dažādus CSS un JS failus, es tak nelikšu visus HEADā manuāli. Kuru moduli inkludējam, tad tas arī inkludē nepieciešamos CSS un JS.

 

 

Nu, nu. Nestāstam nu pasaciņas. Tam pašam drupal ir drupal_add_js/css, tāpēc nemaz nešaubos, ka šis ir kā standarts gandrīz visur. 

Share this post


Link to post
Share on other sites

Sakot jau, ka tu neesi īsts izstrādātājs, ja nevēlies / neesi pats uztaisījis savu CMS / FW. Bet vai uzreiz viņu vajag visur izmantot, tas jau ir cits jautājums.

Share this post


Link to post
Share on other sites

Ja ērtāk un neviens neaizliedz, tad kur problēma? Ja sūdīgs programmētājs, tad arī kruts freimworks nepalīdzēs, bet arī pretējais ir patiess - ja labs programmētājs, tad arī krutākais freimworks var bremzēt, tāpēc taisa pa savam.

Edited by jurchiks

Share this post


Link to post
Share on other sites

Mazāk freimvorkus, vairāk libas!

Share this post


Link to post
Share on other sites

Gurķi: Kas esošos projektus pēc tam supportēs, nu mazums tu nonāc slimnīcā, vai kaut kas ar tevi notiek. Pēc tam uz tādiem specifiskiem projektiem būs grūti atrast vēl vienu gurķi2 kas būs ar mieru tavam klientam tālāk visu supportēt. Tāpēc, ja tu strādā tikai pēc saviem FW, viss ok, tos vari izmantot savos projektos, bet nedomāju, ka kādam nopietnam klientam tavs FW, CMS būs saistošs. 

Share this post


Link to post
Share on other sites

Ja freimworks ir uzrakstīts sakarīgi un nav baigi sarežģīts + ir kaut kāda normāli izskaidrojoša dokumentācija, tad atrast "gurķi2" nevajadzētu būt problēmām. Pirms gadiem 5 bija citi freimworki, pēc gadiem 5 - arī citi, patreizējos tāpat aizmirsīs.

Share this post


Link to post
Share on other sites

Gurķi: Kas esošos projektus pēc tam supportēs, nu mazums tu nonāc slimnīcā, vai kaut kas ar tevi notiek. Pēc tam uz tādiem specifiskiem projektiem būs grūti atrast vēl vienu gurķi2 kas būs ar mieru tavam klientam tālāk visu supportēt. Tāpēc, ja tu strādā tikai pēc saviem FW, viss ok, tos vari izmantot savos projektos, bet nedomāju, ka kādam nopietnam klientam tavs FW, CMS būs saistošs. 

Es jau rakstīju, ka fworkam paredzēts saits ar tutoriāļiem un dokumentāciju. Protams, sākotnējiem projektiem varu nepublisku dokumentāciju līdzi iedot. 

Cik gan bieži realitātē klienta projekts Tev ir jāapdeito ? Procentuāli, cik gadījumos ? Ne jau visi. Web lapām parasti ir tā, ka uztaisa re-dizainu pēc kāda laika.

Un bieži klientiem neinteresē, kas tur par tehnisko risinājumu ir apakšā - viņiem interesē kā izskatās UI. Jauniņais programmētājs var ielikt arī PHP spageti kodu ar labu dizainu un visi būtu laimīgi.

Share this post


Link to post
Share on other sites

Es jau rakstīju, ka fworkam paredzēts saits ar tutoriāļiem un dokumentāciju. Protams, sākotnējiem projektiem varu nepublisku dokumentāciju līdzi iedot. 

 

Ja tiešām vēlies attīstīt savu frameworku, varbūt ir jēga jau esošo publicēt jau tagad? Ieliec GitHubā un šī foruma censoņi vien jau sasūtīs ieteikumus un uzlabojumus. Šāda publicēšana vismaz pašu dzīs uz priekšu attīstīt savu produktu.

Share this post


Link to post
Share on other sites

Ja tiešām vēlies attīstīt savu frameworku, varbūt ir jēga jau esošo publicēt jau tagad? Ieliec GitHubā un šī foruma censoņi vien jau sasūtīs ieteikumus un uzlabojumus. Šāda publicēšana vismaz pašu dzīs uz priekšu attīstīt savu produktu.

yup ideja, protams, laba, bet es tak pats zinu, ka tur pilns ar lietām ko varētu vēl slīpēt. Es tā strādāju, ievelku quick'n'dirty skici, ka tikai konkrēta ideja vienkāršotā veidā strādā un tad, ar nākamajām iterācijām pievelku detaļas / izskaistinu. Tur vēl daudz darba. Bet jā, šajā forumā noteikti ielikšu kaut kad, tas ir pilnīgi skaidrs. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...