• insanlık bu noktaya nasıl geldi lan? nasıl yaptık kendimize bunu?

    çok uzun zamandır frontend ile işim olmuyordu. çalıştığım projelerde arkadaki kodu yazıp ön tarafa veriyi istedikleri şekilde aktarıp bırakıyorum. arada birkaç tane her şeyiyle benim ilgilenmem gereken proje oldu ama onda da eski usül html css falan bir şekilde idare ettim. genel olarak teknolojileri biliyorum ama hiç kurcalamamıştım. ben işimi yapar geçerim, bana ne lan?

    birkaç gün önce kendim için bir şeyler yazmak istedim. çok basit bir şey aslında. müşterilerin takibini yapmamı sağlayacak tırt bir web yazılımı düşünün. kendime yapacağım için biraz özendim tabii, frontend için araştırma yaptım. önce vue fanatikleriyle react fanatiklerinin kavgasına denk geldim. dökümanlara baktım, vue daha kolay geldi. yine de macera aramaya gerek yok, bildiğim gibi gideyim dedim. html versiyonu olan bir tema satın aldım. bootstrap 5 çıkmış bu arada, aferin. kutluyorum kendilerini.

    dosyaları indirdim. lan o ne? içinden 20-30 tane dosya çıktı ama hiçbiri hakkında fikrim yok. yani eskiden 3 tane klasör çıkardı; js, css ve images. şimdi garip garip dosyalar var. neyse dedim, ne kadar zor olabilir ki? ya ben o temayı satın alan ellerimi sikeyim. modemim yansaydı da satın alamasaydım. dünyaya dev bir meteor düşseydi de medeniyetin olmadığı yıllarda hayatıma devam etseydim. internetle ilgili bildiğim her şeyi unutmak istiyorum şu an.

    açtım dökümanı, önce bana node paket yöneticisini indirmem gerektiğini söyledi. tamam, bu kolay. indirdim hemen. sudo apt install npm yani, ne var bunda? sonra gulp dedi, yarn dedi. bir şeyler dedi ama durmuyor. webpack diye bir şey çıkmış mesela, benim aklımın sınırlarını zorluyor. yönergelere bakarsak her şey çok kolay, 4 komutla işi çözmem gerekiyor ama gerçek öyle mi? değil.

    paket yöneticisi zaten bir garip. bir versiyonu kuruyorum, "bilmem kaç paket bu versiyonla uyumlu değil" diyor. diğer sürüme geçiyorum, yine aynısı. ya abicim yapacağınız işi sikeyim şunun bir orta yolu yok mudur ya? sürekli hata alıyorum, bir şeyler eksik iniyor. en sonunda da "compile edemedik" diyor. baktım bu gulp ile yarn ile olmuyor, webpack deneyeyim dedim. allah benim belamı versin ya, o daha beter.

    şimdi frontend geliştiriciler sinirlenmesin. eminim bunlar güzel teknolojilerdir de bunun nesi kolay abicim? neyi kolaylaştırıyor ben bunu anlamadım. yani siz ekranda aniden götünden maymun çıkartan bir adam belirmesini istiyorsanız tabii bu yeni teknolojiler daha müsait ama en temel şeyler zaten eskiden beri yapılanlar değil mi? dünyadaki web sitelerinin çoğu temelde crud dışında bir şey yapmıyor. ben veriyi gönderirken sayfa yenilense ne olacak, yenilenmese ne olacak? yarım saniye beklesin pezevenk, acelesi mi var? dünyayı mı kurtaracak o yarım saniyede? eskiden ne güzel 100-150 dosya olurdu, yüklerdik sunucuya cart diye görürdük her şeyi. şimdi arkada ufak bir afrika ülkesini doyuracak kadar paket iniyor. hiçbiri hakkında bir fikrim yok. sonra onu bundle haline getiriyor falan. ne gerek var lan bunlar? ver bana dümdüz javascript, css artık ne varsa. ben halledeyim ya.

    sonra tabii kafam karıştığı için az önce sorduğum soruya cevap bulmaya çalıştım. "ne gerek var?" sorusu. bin tane farklı cevap var. ya ben basit bir form post edeceğim, veritabanına iki veri gireceğim. yok her işi client'ta yapıyormuş da bilmem ne. istemiyorum abicim, ben arkada hallederim işlerimi. bir de jquery hor görülmeye başlanmış. ne güzeldi ilk çıktığında, hepimiz çok sevmiştik. hem öyle bir milyon tane bağımlılığı da yoktu. bir dosyayı import ederdin, çalışırdı. jquery bundan sonra kırmızı çizgimdir, laf edenin evine ateşler salarım.

    neyse ya uzattım iyice. frontend dünyası kendisine çeki düzen versin. yazılım dediğin şey insanın hayatını kolaylaştırmalı. ben bir tema satın aldım, hayatım karardı. yazılım hazırlamak yerine müşteri kayıtlarını elimle tutsam şimdiye işim bitmişti. bu acı tecrübe sonrası tası tarağı toplayıp köye yerleşmeyi düşündüm ama sonradan hatırladım ki bizim bir köyümüz bile yok. zaten sokağa çıkma yasağı da var.

    size son sözümü söyleyip gidiyorum; şu site neyinize yetmiyor ya?
  • genel olarak yazılım sistemlerinde, verinin kaynaktan alınmasını sağlayan yazılım bileşeni diye tanımlamak akademik olarak da doğru olur sanırım.

    buna göre, bir kelime işlemcisinin front-end'i gui'si diyebiliriz.

    client-server mimari üzerinde inşa edilmiş bir m2m ağında ise web socket bileşenleri front-end olarak adlandırılabilir.

    her iki örnekte de, front end dediğimiz kısım, esas ilgimiz olan verinin (key strokes, tcp paketi) kullanıcıdan (insan, sensör) hedefe (harddisk, file server) gideceği yolun ilk bileşeni olmuş oluyor.
  • ingilizcede on yuz, on son, on hede. arkasini gormenin; nesnel, duyulara dayanan bir kavramadan daha genis bir anlamda zor oldugu hallerde onyuz'e verilen isim.
  • web gelistirme acisindan düsünüldügünde cogunlukla html, css ve javascript dil ve/veya teknolojilerini icine alan "client side" yani kullanici tarafli uygulanmasidir ve bu tarafta yapilan web gelistirmesine "front-end development" adi verilir. back-end gelistirme ile karsilastirildiginda genel olarak ikisinde de yazilim gelistirme methodlarina bagli kalinsa da öncelikler birinden digerine degisir. örnegin front-end gelistirme daha cok kullanici tarafindan tetiklenen "event" yani olaylar belirleyici olurken back-end gelistirmede data ve data yapisi daha belirleyicidir. bu nedenledir ki back-end yapilarinin diagram haline getirilmesinde uml diagramlarindan "entity relationship" diagram olayin bütününü görmek icin bize bircok ipucu verirken, front-end gelistirmede "entitiy relationship" diagram tarafindan verilen bilgi biraz ciliz kalmakta, onun yerine "action diagram" dan daha cok ipucu elde etmemiz mümkündür. kisisel deneyimlerime göre iki taraftan baktigimda back-end ve front-end gelistiricilerin kafa ve mantik yapilari da birbirinden farklilik göstermektedirler. back-end gelistiriciler öncelikli olarak genel yapiya mimariye sadik kalma taraftari olduklarini düsünmekteyim. bunun sonucu olarak da yazilan her methodun, sinifin sinirlari belli, daha iyi ve düsünülerek "encapsulation" yapilmis, "inheritance" daha detayli düsünülerek olusuturulmus oluyor. bu sayede back-end yapilarinin daha modüler oldugunu, ve uygulamanin daha cok genisletilebilir "extendible" ve tekrardan kullanilabilir "re-usable" oldugunu düsünüyorum. ama front-end tarafinda gectigimizde gelistiriciler daha cok sonuc odaklilar ve yapidan cok aksiyonunun sonuclandirilip kullaniciya uygun datanin ve "view" görünümün saglanmasina odaklilar. bu da fonksiyonlar ve siniflar arasi erisimin daha esnek tutulmasina neden oluyor yani bir sinifa ait data veya özellik her yerden rahatlikla erisilebilir olarak tasarlanmasina neden oluyor. bu tarz gelistirme uygulamanin daha cok "statefull" olmasi sonucu doguruyor. "stateful" uygulamalarda yapilan degisikliklerin uygulamanin baska yerinde istenmeyen yan etkilere neden olmasi "stateless" uygulamalardan cok daha fazla, ve hata ayiklamanin daha zor bir sürec olmasi aslinda genelde daha cok zaman kaybina neden oldugunu ve verimsiz oldugunu düsünüyorum. yine bu sekilde yapinin daha cok istenmeyen "spagetti code" üretmeye yönelttigini, hele bir de gelistirme sürecine birden fazla gelistirici dahil oldugunda ve uygulama büyüdükce "re-factoring" ihtiyacinin giderek arttigini düsünmekteyim. bu nedenle nihai olarak fron-end gelistiriciler sonuc odakli ve hizli sonuc cikartsalar da uygulamanin hacmi genisledikce aslinda üretkenliklerinin "gelistir - test et - ekleme yap - test et - refactoring - test et" döngüsünde daha fazla "iteration" yani yinelemeye neden oldugu ve verimsizlestigi gözüküyor. bu sebeple front-end gelistiricilerin mvc yapisina sadik kalinmasi yanlislikla da olsa kötü kod yaziminin engellenyen sinirlamalarin konulmasini saglayacak ve gelistirici icin bir nevi kerteriz noktasi olacaktir.
  • (bkz: frontendmentor.io) pratik yapmak için faydalı bir platform
  • bir bilgisayar programında kullanıcının/müşterinin direkt olarak ilişki içinde olacağı bölümdür. örneğin front-end için geliştirme yapan bir yazılımcı kullanıcı için önyüzü ve fonksiyonlarını tasarlar. back-end için geliştirme yapan arkadaş da kullanıcının yaptıklarının sistem, veritabanı düzeyindeki etkilerini geliştirir.
  • yazılım sektöründe ön yüz denilen yani son kullanıcının gördüğü görselliği sağlayan yazılım geliştiricilere verilen ünvan.

    genellikle web sektöründe yaygın olarak görev almaktadırlar. front-end developer olarak title almaktadırlar. title kademeleri ise junior, senior ve architect olarak ayrılmaktadır.
  • tabutuna çivi çakılmıştır:

    (bkz: v0.dev)
  • üst edit: her aklıma geldiğince veya her üstüne kata kata ilerlediğimde editlicem zamanla bir kendi çapımda kariyer odaklıdan ziyade kendi web sitemi çok sağlam şekilde yapacak seviyeye gelicem. full stack web developmenttan bahsediyorum kısaca.
    neyse zaman gösterecek bakalım

    hayatımda bu kadar zevksiz iğrenç bir alan görmedim.
    pc müh okumamdan ötürü çoğu kişi gibi ben de backend ile başladım bu yazılım serüvenine ama gel gelelim ileride yazılım sektöründe çalışmayacağımı düşünerek frontende kayıp kendi işlerimi kendim halledeyim kafasıyla başladım ama bana daha zor geldi. daha anlaşılmaz daha kodlama mantığından uzak bambaşka bir alan bu alan.

    backend gibi güzel bir yazım stili yok daha garip daha zor daha zevksiz.
    ilk php bakayım dedim çünkü backend kısmında php benim işime yarayan kısım
    c, c++, java hatta python dörtlemesinden sonra o kadar kötü gelmişti ki anlatamam. dedim backend kısmını şimdilik köşede bırakayım direkt front end geçeyim.
    html yine problem değil ama css kısmı gerçekten ömür billah kafa siker.
    yani o kadar farklı tarzlar ki anlatamam yukarıda saydığım dörtlüde zevk alıyordum yazarken ama bu gidişle bilemiyorum nasıl olacak.
    sass kısmı biraz daha benim alıştığım programlama mantığından tonlamalar içeriyor bir nebze hoş tutsa da css aynı bokun laciverti. bok gibi bir şey.
    js geçmedim daha. şu css videolarını dahi izleyesim gelmiyor nasıl olacak görecez.

    hayır şunu da dedirttirmek istemiyorum bilgisayar mühendisi ama kendi sitesini başkasına yaptırıyor. bunu dedirtmemek için ileride de yazılımla uğraşmayacağım için en azından kendi dinamik sitemi yapayım kendim ilgileneyim dedim de hiç düşündüğüm gibi başlamadı.
    off ki ne of.
    hep derler ya sözel daha basittir matematik alanına göre.
    ben matematik aşığı olarak bana çok basit geliyor ama sözel bir şeyi okumak aşırı zor geliyor dayanamıyorum.
    bu cssin bendeki etkisi de bu. daha zor amına kodumun oğlu.
    c falan halt etmiş yanında. beyin siken hiçbir şeyi sevmiyorum. ikisi de gerçekten zor alanlar bence işin tamamiyle zevk alma boyutuna göre değişen alanlar.
    önceden front end daha basit diye düşünürdüm ama gerçekten benim için daha zor en azından şimdilik katlanamıyorum. ikisi de değerli kısımlar biri birinden kolay veya zor şimdilik dememeyi es geçeyim ileride editlerim. ama c gibi java gibi dilleri çok özlicem ona emin oldum. umarım ileride severim ve alışırım

    edit: 4 temmuzdayım zaman buldukça bakıyorum bazen 1-2 saat bazen 4 saat bazen 2-3 gün boyunca bakamıyorum.
    html ve css başta baya izledim ama adam akıllı kafamı veremiyordum derken biraz javascript baktım
    şimdi de bootstrap geçtim.
    yani her birinden siktiri boktan ilerliyorum. katlanamıyorum hepsi birbirinden kötü.
    js kısmı en basit kısım oldu benim için. programlama sonuçta en zevkli kısım da o yüzden ama çok bakmadım. şu an tek sıkıntı html, css, bootstrap.
    bunların az çok mantığını oturtabilirsem kendi tasarımlarımı denemeye çalışıcam. backend kısmını hiç düşünmüyorum zorlamayacaktır hardcore kurumsal bir iş yapmayacağım sonuçta. güzel bir e ticaret sitesi hedefim var. hem backend seviyorum hem de o kadar zor işler çıkacağını düşünmüyorum. yani kısaca tek mevzu html + css + bootstrap iyice anlamak.

    edit2: 26 ekimde bir mesaj üzerine aklıma geldi. şimdilik hem son senem okulda hem de ticaretle ilgilendiğim için wordpress üzerine ilerliyorum. wordpresse pluginler hatta static bir tema üzerinden kendim dinamik bir e ticaret sitesi yapma gibi hedeflerim var. tabi ister istemez işin css+html kısmına da giriyor. farklı bir yol izlemiş olucam ama hayalimiz bu.

    ticaret + wordpress developer + frontend developer.
    neden olmasın ki. hayallerimiz var hadi bakalım
  • bir de armağan amcalar 'dan dinlemenizi tavsiye edeceğim hede.
hesabın var mı? giriş yap