Günlük Arşivi

Günlük girdilerini RSS ile takip edin.

Less


Less dosyalarıyla çalışıyorsanız ve eğer arayüz geliştiriyorsanız yazdığınız kodu tarayıcıda anlık olarak görmek isteyeceksiniz. Less dosyalarını kaydettiğiniz gibi derleyen aşağıdaki araçlarla hangi platformda çalışıyor olursanız olun otomatik olarak derletebilirsiniz.

Less derleyicilerini toparladığım ufak bir yazı hazırladım: http://mfyz.com/dokuman/127/less-dosyalarinizi-anlik-csse-cevirin
LESS hakkinda daha once ufak tefek seyler yazmistim fakat dokuman haline getirip neler yapabileceginizi anlatmadim.

Artik neredeyse tum projelerimde kullandigim LESS'in artik vazgecilmez oldugunu hissetmeye basladim benim icin. Eger surekli oynadiginiz ve yapisini dogru tutmak istediginiz buyuk css dosyalarina sahipseniz projelerinizde, iste size kisaca less'in ne oldugu, ne gibi avantajlari olacagini anlattigim bir dokuman hazirladim:

http://mfyz.com/dokuman/125/less-ile-hiyerarsik-ve......css-yazmak


Özellikle 2000’den sonra akıllı cihazların (taşınabilir bilgisayarlar, mobil telefonlar, tabletler, medya oynatıcıları hatta televizyonlar) hayatımızdaki yeri ve sayısı çoğalıyor. Artık büyük şehirlerdeki tüm evlerde sayısız akıllı cihaz var. Birçok taşınabilir teknoloji, kablosuz yayın ve iletişimi destekleyecek şekilde donanımlandırılmışlar. Bunlara artık klasik beyaz eşyalar bile girmeye başladı. Bunun dışında zaten ufalan mobil cihazlarımızın sayısı da her geçen gün artıyor. Akıllı cep telefonları, tablet oyuncaklar, medya oynatıcılar.

Şu an her saniye dijital içerik üretiyoruz. Telefonumuzla fotograf çekiyor, veya profesyonel kameramızla büyük boyutlarda ve yüksek çözünürlükte fotograflar çekiyor, HD filmler kaydediyor, film kiralama servisleri ile bir tıkla kiraladığımız dizi veya filmi bilgisayarımıza indirebiliyor, müziğimizi mp3e çevirip taşınabilir müzik çalarımıza atıyoruz. Farkettiyseniz bireysel olarak bile birçok dijital verimiz oluyor. Bunları saklamak için çoğu zaman bilgisayarımızı kullanıyoruz fakat eğer bu veri yığınımız büyük ise genelde harici diskleri tercih ediyoruz. Şimdi gelelim bu kadar çok sayıda sahip olduğumuz akıllı cihaza. Birçok cihaz kendi kendine birçok şeyi yapabiliyor. Mesela iphone’unuz film oynatıyor, fotograf slideshow olarak oynatıyor hatta müziklerimizi de oldukça yüksek kalitede oynatabiliyor. Aynı şeyleri televizyonumuz da yapıyor, hatta internete giren bir televizyomunuz var. Hatta aynı şeyleri başka bir taşınabilir bilgisayarımızda da yapmak istiyoruz. Problem, bu veri yığınını ortak yönetebileceğimiz veya birbiriyle haberleştirebileceğimiz bir şeye sahip olmamamız. Bu konuda birkaç şirket birşeyler yapıyor. Samsung, Sony gibi şirketler DLNA adı altında medya sunucu ve istemcileri tasarlıyorlar, Apple AirPlay ile müziğimizi, videolarinızı diğer bir Apple cihazına yayın yapmamızı sağlıyor.


Ancak en etkileyici örnek, herhalde seneler önce düşünülmüş ama örneklerini evlerimize kadar girebilecek bir şekilde göremediğimiz, Microsoft’un Surface’inde görebilirsiniz. Surface aslında bir masa. Görüntü panelinden oluşmuş bir masa, ve çoklu dokunmatik etkileşimi ile çalışan bir akıllı cihaz. Buradaki örnek, Surface ile başka bir cihazı sadece üstüne koyarak başlattığı bir etkileşimde gödük. Mesela telefonunuzu masanın üstüne koyduğunuzda, masada telefonun altında çıkan bazı seçenekler ile, az önce çektiğiniz bir fotografa ulaşabiliyor veya adres defterinizdeki bir kişiye bir iletiyi kısa mesaj olarak masanızdaki klavyeden iletebiliyordunuz.

Temassız etkileşimi düşünürseniz şu an en iyi uygulamayı Apple, AirPlay ile sağlıyor. iPhone, iPad veya bilgisayarınızdan AppleTV bağli olan bir televizyona HD yayını iletip, filminizi bilgisayarınızdan yönetip televizyonunuzda izleyebiliyorsunuz.

Less

LESS CSS ile çalışmak oldukça keyifli. Kesinlikle herkese öneririm. Özellikle de sürekli php veya javascript gibi dillerle çalışan programcılar bunu seveceklerdir. Çünkü CSS yazarken değişken, kontroller gibi program yapıları kullanamıyorsunuz. Eğer sistematik bir css geliştiriyorsanız, mesela gridlerle çizilen, belli bir paleti olan veya pozisyon, kenarlıklar gibi değerleriniz sürekli tekrar eden değerler ise LESS CSS kullandığınız zaman aradaki farkı çok daha iyi hissedeceksiniz.

Örnek veriyorum, CSS3 ile daha çok tekrar etmeye başladığım border-radius için aynı değeri 3 satırda giriyorsunuz, eğer aynı radius değerini mesela 4 sınıf için tanımlamanız gerekiyorsa 12 kere bu satırları tekrar etmeniz gerekiyor. Less'de sadece border radius için parametrik çalışan fonksiyon tanımlayarak her yerde bu fonksiyonu çağırabilirsiniz.

Çok basit bir şekilde tek javascript dosyasıyla çalışıyor, eğer isterseniz sunucunuzda da less dosyalarınızı derleyip javascript bagımlılığı olmadan css olarak sunabilirsiniz.

Kesinlikle denemeye deÄŸer: http://lesscss.org/
Sektörün en büyük derdi herhalde kısıtlı zamanda iş çıkarmaktır. Yakın zamanda bir proje yöneticimden duyduğum söz şu idi: "Bir işe ne zaman başlayacağın değil ne zaman bitireceğin önemlidir." Kesinlikle doğru bir söz fakat olmayacak zamanlamalar planlayarak, geliştirici ekipten olmayacak tarihlere iş istemenin getirdiği bir ton negatif yan var. İş dünyası kafasıyla düşünüldüğünde bir isteğin uygulamada yapılmış olması yeterli bir gereksinimdir. Bu gereksinim karşılandığı zaman işin bitmiş olduğu algısının ne kadar yanlış olduğunu yıllardır anlatmaya çalıştım insanlara ama bir türlü şirketlerin para kaygısını aşıp iyi/kaliteli iş çıkarmaları gerekiğini anlatamadım. Ya da anlıyorlar ama yapmıyorlar.

İyi bir fikriinz var ve "x tarihine yetişecek" algısı ve yaklaşımı ile geliştiricilere yaptırırsanız:
  • Optimizm yok olmaya
  • Kod pisleÅŸmeye
  • Standartlardan çıkılmaya
  • Kolay uygulanan yazılıma sahip ama zor sürdürülebilir bir fikre
  • Muhtemelen bir sürü yeri patlayan veya patlamaya hazır bir kod elde etmeye
mahkum olacaksınız.

Ayrıca bunları baskı altında yapan geliştiriciyi, projeden her geçen gün soğutacak, belki de küfrederek işini yapmasına neden olacaksınız.

Umarım sektör, bu yaklaşıma sahip pazarlama zihniyetindeki proje yöneticilerinden sıyrılabilir. (Sadece temenni, yoksa olacağından değil)