Doğru PHP çerçevesi nasıl seçilir. Karşılaştırmalı testler. çerçeve nedir

  • 18.06.2019

1 yıl önce | 18.4K


Web yöneticileri tarafından baştan sona kendi başlarına yazılan benzersiz sitelerin zamanları geçmişte kaldı. Siteler için modern gereksinimler, çoğu durumda gerekli işlevsellik kodunun yıllarca yazılması gerekecek şekildedir.

Bu tür popüler ve etkili araçlar, programcıların ve düzen tasarımcılarının yardımına gelir: PHP Çerçeveleri ve CMS (İngilizce İçerik Yönetim Sisteminden - içerik yönetim sisteminden). Seçim, web yöneticisinin bilgisine ve proje için belirlenen hedeflere bağlıdır.

Çerçeve veya CMS'nin ne seçileceğini nasıl anlar ve anlarsınız?

PHP Çerçeveleri Nedir?

Çerçeve ile çalışmak belirli bir bilgi gerektirir. Ancak bu, ilk bakışta göründüğü kadar korkutucu değil.

Başlangıç ​​bilgisi sağlayan birçok bilgilendirici kaynak vardır ve bunların nasıl çalıştığını anladığınızda, ihtiyacınız olan tek şey yaratıcılık ve deney yapma arzusudur. Çerçeve, gelecekteki uygulamanın temeli olarak adlandırılabilir, site yaratıcılarına atanan görevleri çözmenize izin veren bir dizi hazır koddur.

En Popüler PHP Çerçeveleri:
Zend Çerçevesi ;
Yii;
falkon;
Codeigniter - profesyonellerden öğrenin:


Avantajlar

1. Çerçevelerde oluşturulan kod "hafif"tir, yüksek performans ile karakterizedir. Çalışma hızı, yalnızca kodların bireysel olarak geliştirildiği saf PHP ile yazılmış uygulamalar için daha yüksektir.

2. İyi kod güvenliği. Çerçeveler deneyimli programcılar tarafından yazılır, kod geliştirici topluluğu tarafından test edilir. Eksiklikler ve zafiyetler zamanında düzeltilir.Standart olmayan çözümleri kullanma yeteneği, bilgisayar korsanlığı olasılığını önemli ölçüde azaltır.

3. çok yönlülük Hazır sınıfları ve çerçeve kitaplıklarını kullanarak herhangi bir görevi çözebilirsiniz.

Karşılaşabileceğiniz Zorluklar

1. Yeni başlayanlar için ilk başta kodu anlamak oldukça zor olacaktır. Ancak PHP dilinin öğrenmesi oldukça kolay ve sezgisel olduğu unutulmamalıdır. Temel bilgilere hakim olduktan sonra, karmaşık görevlerle hızlı bir şekilde ilgileneceksiniz.

2. Web sitesi geliştirme zaman alır. Framework kütüphaneleri gerekli tüm kodlara sahip olsa da, onlardan işleyen bir web sitesi oluşturmak o kadar kolay değildir. Ama sonuç buna değer. Başka hiçbir siteden farklı olarak benzersiz bir siteye sahip olacaksınız.

3. Bitmiş sitenin bir yönetim modülü olmayacaktır. Kendiniz monte edilmesi gerekiyor. En azından biraz PHP bilginiz varsa zor değil. Neyse ki, küçük ince ayar gerektiren neredeyse hazır birçok çözüm var.

4. Çerçeveler temelinde oluşturulan sitelerin bakımının pahalı olduğuna inanılmaktadır. Nedeni benzersizliğinde yatmaktadır. Deneyimli bir programcı bile siteyi oluşturmak için hangi kodları kullandığını altı ay içinde unutabilir. Çalışmayı basitleştirmek için kullanılan her eleman için yorum bırakmak gerekir.

İçerik Yönetim Sistemleri (İYS)

Basit ve anlaşılır terimlerle CMS, sitenin kalbidir. Sistem, verilerin doğru bir şekilde gönderilmesinden sorumlu bir motora ve sayfaların ve bölümlerin konfigürasyonunu değiştirmenize izin veren bir yönetici paneline sahiptir.

Bu tür sistemlerin ana görevi, verileri tek bir bütün halinde toplamak ve birleştirmek. Bu durumda, kaynaklar hem kaynağın kendisinde hem de dışında bulunabilir. CMS'yi kullanarak hızlı bir şekilde siteler oluşturabilir, onları içerikle doldurabilirsiniz.

Modern CMS, çok sayıda işlevselliğe sahip karmaşık bir çözümdür.

En popüler CMS:
Joomla! - devamını oku
Drupal
WordPress.

Avantajlar

1. En önemli avantajı, siteleri geliştirmek için gereken minimum süredir.

2. Kurulumu kolay uzantılar şeklinde birçok hazır eklenti.

3. Öğrenme, ayarlama - basit, sezgisel.

4. Herhangi bir programlama dili bilmeseniz bile size kendi web sitenizi oluşturma fırsatı verirler.

5. Yönetici paneli cihazının benzerliği ve çeşitli CMS'lerin işlevselliği, web yöneticilerinin işini kolaylaştırır.

Dikkat edilmesi gerekenler

1. Birçok CMS'nin yeteneklerinde bazı sınırlamalar vardır. Açıkça tanımlanmış görevleri olan sistemler vardır. WordPress veya Joomla! gibi canavarlara gelince! - burada her şey uzantılar yüklenerek çözülür, sonuç olarak harika fırsatlara sahip siteler elde edilir.

2. Çerçeveler üzerine kurulu sitelerden daha yavaş performans, daha fazla kaynak gerektirir (güçlü sunucu donanımı ile önemli değildir).

3. Bazı durumlarda, gereksiz işlevleri vardır. Bunlar, ancak uzlaşılabilecek evrensel çözümlerin maliyetleridir. Ayrıca, bir ay içinde neye ihtiyacınız olabileceğini asla bilemezsiniz.

sonuçlar

Çözüm seçimi, sitenin amaçlanan faaliyet türüne, geliştirmeye yatırım yapma isteğine veya bilgi miktarına bağlıdır.

Benzersizlik sizin için önemli değilse ve mümkün olan en kısa sürede bir web sitesi oluşturmanız gerekiyorsa, bir CMS'ye ihtiyacınız var.

Özgünlük anı önemli olduğunda ve fırsatlar izin verdiğinde, sitenin Çerçevede oluşturulduğu seçeneği seçin. Her durumda, son karar size kalmış.

Düşüncelerimi paylaşacağım ve iki sentimi koyacağım. Makale çok fazla sayı veya grafik (her türlü Google Trends) içermeyecek, yalnızca kişisel gözlemler içerecektir.

Bu nedenle, PHP'nin en son sürümlerinin piyasaya sürülmesi ve popüler PHP çerçevelerinin (Zend Framework 2, Yii2 (alfa), vb.) yeni sürümlerinin ortaya çıkmasıyla birlikte, PHP diline olan ilgi artıyor. Bu arada, şu anda dil son derece popüler. Çoğunlukla acemi web geliştiricileri arasında (şu anda tüm web sitelerinin %80'inden fazlası tarafından kullanılmaktadır) ve ortalama trafiğe sahip kaynaklar arasında.

Elbette PHP kullanan birinci sınıf site örnekleri var:

PHP çerçeveleri sorusuna ve bunlardan hangisinin popüler olduğu, talep edildiği ve hangisinin çalışılması gerektiği sorusuna dönelim. Batı pazarından bahsedecek olursak, talep ve bahsetme sıklığı açısından tartışmasız liderler şunlardır: Zend Framework, CodeIgniter ve hızla popülerlik kazanan Yii. Dünyanın en büyük serbest borsaları oDesk ve Elance'de bu üçlüye ek olarak CakePHP ve Symfony'den de sıkça bahsedilir.

Sovyet sonrası alanın genişliklerinde, azalan sırayla aşağıdakiler popülerdir:

  • Zend Çerçevesi
  • CodeInginter
  • senfoni
  • Kohana
  • KekPHP

Özetlemek gerekirse, programcıların tercihlerine ve işverenlerin isteklerine göre dünyanın en popüler PHP çerçeveleri şunlardır: Zend Çerçevesi, CodeIgniter ve Yii. İkincisi hızla popülerlik kazanıyor. Symfony ve CakePHP, serbest çalışan geliştiriciler arasında da yaygındır.

Diğer betik dillerinin (Python ve Ruby gibi) popülaritesinin artmasına rağmen, büyük şirketler hala çoğunlukla PHP'yi tercih ediyor. Ve bir platform seçerken, ölçeklenebilirlik, çerçevenin popülaritesi ve bu platformdaki uzmanların piyasada bulunabilirliği gibi kriterlere göre yönlendirilirler. HiLoad alanında PHP biraz geride ve sınırına ulaşmış görünüyor. Ancak kPHP, HipHop, vb. Gibi buna dayalı derlenmiş çözümler var.

Ne çalışmalı ve neye odaklanmalı?

Temel PHP bilginiz varsa, bu yönde gelişmek istiyorsanız ve becerilerinizin işveren için faydalı olmasını istiyorsanız, öncelikle ilk üç çerçeveye daha yakından bakmalısınız: Zend, CodeIgniter, Yii. Ardından, hangisinin sizin için daha “sevimli” ve öğrenmesi kolay olacağına karar vermelisiniz. Ve son olarak, onları test edin.

Çerçevelere karşı kişisel tutumum aşağıdaki gibidir:

- Zend Framework - popüler ama canavarca, performans sorunları var. Bu çerçevenin bilgisi ile zorlanmadan iş bulabilirsiniz, başka bir soru da buna “kolay girebilecek misiniz”. Bana gelince, öğrenmesi zor ve onunla başlamamalısın, IMHO.

- CodeIgniter - basit ve hızlı. Ama işlevsellik açısından rakiplerinden çok geride. MVC ve diğer hilelerle uğraşmak için onunla başlamak çok iyidir. Ancak zamanla, kutudan çıkan işlevselliği kaçıracaksınız.

- Yii arada bir şeydir. CodeIgniter'dan biraz daha az üretken, ancak çok daha fazla işlevsellik içeriyor. İyi belgelere sahiptir ve genellikle Zend'den çok daha dostçadır.

- Yukarıda bahsedilen çerçevelerin geri kalanı da dikkate değer, ancak onlarla kişisel temasım olmadı ve bu nedenle suları bulandırmayacağım.

CodeIgniter'ı öğrenerek başladım ve sevdim. Sonra işlevselliği kaçırmaya başladım ve bir alternatif aramaya başladım. Şu anda Yii'yi okuyorum ve işimde kullanıyorum. eğer soru öğrenmek için hangi PHP çerçevesini seçmeli bir avantaj sağlamak için - o zaman hala Yii 1.1'i incelemeye meyilli olurdum. Ve geriye dönük uyumsuz Yii2 üzerindeki aktif çalışmanın sizi rahatsız etmesine izin vermeyin, üretime girmesine çok uzun bir zaman var.

Umarım size yardımcı olmuşumdur.

Başlangıç ​​olarak, buna özel bir ihtiyaç olmasa bile, bir şeye yama ve ince ayar yapmanın çok büyük bir hayranı olduğumu söyleyeceğim. Ve son zamanlarda, sunucumdaki XCache istatistiklerine bakarak, çeşitli çerçevelerdeki dosyaların opcache'sine harcadığı bellek miktarını optimize edebileceğimi düşündüm. Bunu yapmak kolaydır - dosyaları tüm siteler için ortak olan, yaklaşık 20'ye sahip olduğum, ancak çoğu oldukça basit olan ve onları çok fazla yeniden yazmam gerekmeyen yalnızca bir tane kullanarak her şeyi yeniden yazın. Sonra ideal olarak geliştirmeyi basitleştirecek ve aynı zamanda kolay ve hızlı olacak yeterli özelliklere sahip olacak çerçeveyi aramaya başladım. İşte beğendiklerim ve onlar hakkındaki düşüncelerim.


İlk etapta ilginç çünkü C ile yazılmış ve PHP için bir modül olarak derlendi. Kriterlere bakılırsa, diğerlerinden çok daha hızlı çalışıyor (ortalamadan yaklaşık 3 kat daha hızlı) ve aynı zamanda oldukça tanıdık MVC yapısına saygı duyuyor. Ayrıca Phalcon'un Dependency Injection kullanması ve kendi DI konteynerini sağlamasından çok memnun oldum, ancak öğreticilere bakılırsa, sınıflar hala çok sık doğrudan kullanılıyor, ancak kişisel olarak kaçınmaya çalıştığım statik yöntemler de dahil. Bu arada, modülün ilk kez teflerle dans etmeden derlendiğini ve çalıştığını söylemeliyim ki bu her zaman güzel. Biraz daha derine baktığımda daha fazla dezavantaj görmeye başladım, öncelikle C'yi geliştirmeye yardımcı olacak kadar iyi bilen çok sayıda PHP programcısı yok, sonuç olarak Phalcon PHP muadillerinden daha yavaş gelişecek. İkincisi, SQL'in yerini alacak PHQL (Phalcon Query Language) vb. gibi koltuk değneklerinin çoğunu icat etti. Sonuç olarak, geleceği bilinmeyen oldukça cesur bir projemiz var.

Geçenlerde duydum, Phil Sturgeon (PyroCMS geliştiricisi ve PHP-FIG üyesi) tarafından bir tweet'te bahsedildi ve ilk başta bunun sadece bir şaka olduğunu düşündüm. Cidden, hiçbir PHP programcısının ana sayfadaki introyu sonuna kadar gülmeden dinleyebileceğini sanmıyorum. PHPixie'nin felsefesi, çerçevenin hızlı ve hafif olması gerektiğidir. küçük bir peri gibi, geliştiriciler bunu pythonistlerin "Basit şeyler basit olmalı, zor şeyler mümkün olmalı" olarak bilinen yaklaşımla başarmaya çalışıyorlar. Yani PHPixie bileşenleri, site geliştirirken rutin görevlerin %90'ını en basit ve en hızlı şekilde halledebilecekleri şekilde yazılmıştır ve kalan %10'luk karmaşık, daha nadir görevlerin geliştiricinin kendisi tarafından çözüldüğü varsayılmaktadır. ve bunları çerçevenin kendisine dahil etmeye gerek yoktur. Sitelerimden hiçbirinin PHPixie'nin sahip olmadığı hiçbir şeyi kullanmadığını ve Servis Bulucu'ya doğru eğilmesine rağmen Bağımlılık Enjeksiyonu bile oldukça iyi olduğunu söylemeliyim. DI kapsayıcılarının diğer uygulamalarından farklı olarak, buna daha az esnek, ancak çok daha şeffaf olan sınıf uzantısıyla yeni öğeler eklenir ve prosedürel koddan tamamen kaçınmanıza ve IDE'deki kapsayıcı öğelerinin sınıfını tanımanıza olanak tanır. Eksilerden sadece ciddiye almanın oldukça zor olduğunu ve ofisteki çalışanlarınızı periler ve midillilerle bir çerçeve içinde bir şeyler yazmaya ikna etmenizin pek mümkün olmadığını not edebilirim.
yağsız

Tüm çerçeve tek dosyada! Hemen yüzünde büyük bir artı: diskten bir dosya birçok dosyadan daha hızlı yüklenecek ve bu dosyanın boyutu yaklaşık 50 kilobayttır. Doğru, ortaya çıktığı gibi, bu tek dosyada, tüm çerçeveden uzak, ancak yalnızca en temel kısmı, yani, örneğin veritabanına erişmeniz gerekiyorsa, sınıfların hala yüklenmesi gerekecektir. Ayrıca, aynı XCache PHP kodunu yine de önbelleğe alır, bu durumda Bu yaklaşımdan elde edilen kazanç, eğer varsa, çok küçüktür. Çerçeve ile birlikte, yalnızca bir grup kitaplık sağlanır; bu, Composer kullanmıyorsanız kullanışlıdır ve kullanıyorsanız tamamen gereksizdir. Ayrıca, ORM'lerinin, kullanım kapsamını büyük ölçüde daralttığı için, hemen pencereden dışarı atılabileceği tablolar arasındaki ilişkileri desteklememesi de çok şaşırtıcıydı. Bu aslında gözden geçirdiğim ve beni gerçekten hayal kırıklığına uğratan tek çerçeve.
Silex, Slim ve mikro çerçeveler.

Bu ikisi hakkında çok şey biliniyor. Her ikisi de geliştirme için tam bir yığın sağlamadığından, her şey onlara hangi kitaplıkları eklediğinize ve nasıl yaptığınıza bağlı olacaktır. Bundan mikro çerçevelerin esnekliği gelir, ancak diğer yandan her programcı kendi sistemiyle sonuçlandığından bir topluluk ve destek bulmak daha zor olacaktır. Ayrıca çerçeve tamamen aynı kişiler tarafından yazılmışsa, kodun felsefesi benzer olduğu için ustalaşması çok daha kolaydır. Ama farklı kütüphanelerden derlenmiş, farklı bir tarz ve yaklaşımın olduğu bir Frankenstein'ınız varsa, onu anlamanız daha zor olacaktır. Sonunda, Silex'ten tam teşekküllü bir çerçeve yapma girişimlerim beni bir tür Symfony koleksiyonuna yönlendirdi. Burada Slim ve Silex'te kod yazmanın sezgisel, hızlı ve herhangi bir sihir gerektirmediğine dikkat edilmelidir.

Burada SQL ve NoSQL veritabanları için tek bir API ve geliştiricilere göre merkezi olmayan bir filtre sistemi gibi birkaç yenilik daha var. Çerçeve, eski bir CakePHP geliştiricisi tarafından oluşturuldu ve bazı yerlerde, örneğin model kullanımında olduğu gibi, bu çok dikkat çekicidir. Filtreler, bir sınıf yöntemine yapılan çağrıyı gerçekten engellemenize ve parametrelerini değiştirmenize ve anında sonuç almanıza olanak tanır. Esnek, ancak sonunda eklentilerin Wordpress'te nasıl çalıştığı gibi makarna kodu alabilirsiniz. Böyle yenilikçi bir çerçevenin statik yöntemleri bu kadar ısrarla kullanması da şaşırtıcıdır. Basit mimari memnun eder, yani basit bir site oluşturursanız, yazmaya geldiğiniz kod miktarı Silex kullanmaktan çok farklı değildir. Prensip olarak, geçmişte CakePHP ile çalışmış ancak yeni bir şeyler denemek isteyenler için çok uygundur.

Peki ben hangisini seçtim? Sonunda seçimim Silex ve PHPixie arasındaydı (evet, perilerden korkmuyorum) ve sonuç olarak ikisini de kullanmaya devam ettim. Sitelerin çoğu Silex'e aktarıldı ve Kohana'da yazılanlar, arayüzü ona biraz benzeyen PHPixie'ye, özellikle de ORM uygulamasına aktarıldı. Bununla, XCache tarafından tüketilen bellek miktarını yaklaşık 6 kat azaltabildim, sayfa oluşturmayı hızlandırdım ve hatta yol boyunca biraz yeniden düzenlemeyi başardım. Genel olarak, PHP binlerce çerçeveden oluşan bir ülkedir, bu yüzden herkesin beğenisine göre bir şeyler bulabileceğini düşünüyorum.

Seçim çok büyük ve doğru çerçeveyi seçmek oldukça sorunlu hale geldi. Diğer birçok geliştirici gibi, gözünüz popüler, kanıtlanmış ve güvenilir Bootstrap ve Foundation çerçevelerine düşebilir. Bununla birlikte, daha yeni fakat iyi bilinen çerçeveler ihtiyaçlarınıza çok daha uygun olabilir. Bu gibi durumlarda, günümüzün en popüler çerçevelerini anlamanız yeterlidir.

Bir ön uç çerçeve seçerken nelere dikkat edilmelidir?

Bir sonraki projeniz için bir ön uç çerçeve aramadan önce, en havalı özelliklere aşina olmanız önemlidir. Bunları bilerek, en popüler ön uç çerçevelerin tüm artılarını ve eksilerini çok daha hızlı tartabileceksiniz:

Seviyeniz - bir ön uç çerçeve seçerken bilgi seviyenizi göz önünde bulundurun. Yeni başlayan biriyseniz, birçok yerleşik widget'ı olan ve minimum programlama becerisi gerektiren güçlü Bootstrap çerçevesini düşünebilirsiniz. Daha gelişmiş bir geliştiriciyseniz, daha basit bir çerçeve size uyacaktır ve bu da size özelleştirme için daha fazla alan sağlayacaktır. Bu tür çerçeveler daha kompakttır ve daha az koda sahiptir, bu sadece bir artı olacaktır.

Duyarlı Tasarım – Geliştirdiğiniz herhangi bir web sitesi, giderek daha fazla kişi web'e mobil cihazlar aracılığıyla eriştiğinden tüm cihazlarda iyi görüntülenmelidir. Benzer Web, ABD'deki en iyi site trafiği tüketicilerinin yüzde 56'sının web'e mobil cihazlardan eriştiğini belirten ABD'deki 2015 Mobil İnternet Durumu raporunu yayınladı. Duyarlı tasarımı destekleyen ön uç çerçeveleri arayın, o zaman bir probleminiz daha az olacaktır.

Web geliştirmede modern eğilimler ve yaklaşımlar

Web sitesi oluşturmada sıfırdan hızlı büyüme için algoritmayı öğrenin

CSS Ön İşlemcileri - Sass veya LESS gibi CSS ön işlemcileri kullanıyorsanız, çerçeveyle uyumlu olduklarından emin olun.

Görünüm - En az çabayla en iyi görünümü ve hissi elde etmenize yardımcı olacak çerçeveyi seçin.

Prototipler – İdeal ön uç çerçeve, tasarım ve geliştirme sürecinizi hızlandırmak için hızlı bir şekilde tel kafesler ve prototipler oluşturmanıza olanak tanır.

Ve en önemlisi, iyi bir ön uç çerçeve, bir web sitesi tasarlama ve geliştirme sürecini basitleştirir, modernleştirir ve hızlandırır, aynı zamanda size benzersiz bir ürün oluşturma esnekliği ve işlevselliği sağlar.

Lafı fazla uzatmadan size 2016'nın en popüler sekizinci ön uç çerçevesini sunuyorum.

Önyükleme

TOP, çok popüler Bootstrap ön uç çerçevesi olmadan tamamlanmış sayılmaz. Çerçevenin yazarları, onu 2011'de yayınlayan Twitter'ın yaratıcılarıdır. Dünyada en çok kullanılan açık kaynaklı çerçeve.

Diğer tüm etkili ön uç çerçeveler gibi, Bootstrap da HTML, CSS ve JS bileşenlerini içerir. Çerçeve, duyarlı web tasarımı standartlarına uyar ve herhangi bir karmaşıklık ve boyutta duyarlı web siteleri oluşturmanıza olanak tanır.

Bootstrap'in sürekli güncellemeleri, en yeni ve en iyi özellikleri almanızı sağlar. Örneğin, hemen hemen Google'ın malzeme tasarım standartlarını karşılayan çerçeveye temalar eklendi. Temalar, Sass'ı desteklemek için geliştirildi.

duyarlı web tasarımı desteği (istenirse devre dışı bırakılabilir);

kapsamlı belgeler.

nadiren kullanılan stiller, standart çerçevenin ağırlığını 276 KB'ye kadar artırır;

kodu kirleten ve kullanıcının kafasını karıştıran çok fazla HTML sınıfı ve DOM öğesi.

Yeni başlayanlar ve sağlam ön uç çerçeveleri tercih edenler için uygundur.

size daha fazla esneklik sağlayan kilitli stiller yok;

piksel yerine REM birimleri kullanılır, bu da her aygıt için genişlik, yükseklik ve diğer nitelikleri açıkça ayarlamanıza izin vermez.

varsayılan olarak oldukça büyük bir dosya ağırlığı;

yeni başlayanlar için biraz zor.

Ana hedefi hızlı geliştirme, çekici ve uyarlanabilir siteler olan iyi deneyime sahip geliştiriciler için uygundur.

gerçekleştirmek

Pure çerçevesi, Yahoo geliştirme ekibi tarafından oluşturuldu. Herhangi bir projeye uyan hafif bir CSS modülü dizisi ile birlikte gelir. Pure ile duyarlı düğmeler, menüler, ızgaralar, tablolar ve daha fazlasını kolayca oluşturabilirsiniz. Çerçeve saf CSS ile yazılmıştır ve JS veya JQuery eklentilerini desteklemez.

Küçültme ve Gzip sıkıştırmasından sonra Pure çerçeve 4.5Kb'ye sıkıştırılır ve bu da onu piyasadaki en hafif ve en çevik ön uç çerçevelerden biri haline getirir. Pure, mobil geliştirme için idealdir, bu nedenle birçok geliştiriciyi kendine çekmiştir.

mobil cihazlarda bile hızlı yükleme sağlayan çok hafif;

esnek CSS modülleri dizisi, kesinlikle herhangi bir tasarım ve projede kullanılabilir.

JS veya jQuery eklentileri desteği olmadan CSS'de yazılmıştır.

Duyarlı ve hızlı mobil siteler oluşturmaya odaklanan geliştiriciler için uygundur.

iskelet

Skeleton, yalnızca 400 satır kod içeren hafif ve duyarlı bir şablondur. Çerçeve, geliştirmeye başlamak için gereken minimum işlevselliği içerir. Yukarıda açıklanan çerçevelerin aksine, bu kapsamlı bir çözüm değildir.

Skeleton, 12 sütunlu bir ızgaraya dayalı duyarlı bir çerçevedir. Kitte yalnızca gerekli öğeler bulunur: düğmeler, listeler, tablolar, formlar vb.

çok hafif;

küçük projeler yazmak için basitlik ve rahatlık.

büyük çerçevelerin aksine geniş bir bileşen yelpazesinin olmaması.

Büyük çerçevelerde bulunabilecek tüm stil bileşenlerine ihtiyaç duymayan küçük projeler oluşturanlar için uygundur.

UIKit

UIKit, çeşitli nedenlerle kalabalığın arasından sıyrılan oldukça modüler bir ön uç çerçevedir. Bunun ana nedeni, LESS ve Sass olmak üzere iki önişlemcinin varlığıdır.

UIKit, kolay adlara sahip esnek ve uyarlanabilir bileşenleri sayesinde en popüler ön uç çerçevelerden biri haline geldi.

30 modüler bileşen, daha da büyük bir evrensel çerçeve sağlar. Bileşenler şunları içerir: menüler, HTML formları ve tabloları, kayar sekmeler ve modlar gibi JS bileşenleri, düğmeler, işaretler ve kaplamalar gibi genel öğeler ve akıcı, duyarlı ızgara sistemleri gibi düzen bileşenleri.

yüksek özelleştirme;

genel stilleri etkilemeden stillere bileşen eklemenize izin veren benzersiz bir modüler yapı;

iç içe listeler gibi bileşenler sayesinde karmaşık arayüzler oluşturma yeteneği.

çerçeve hala yeni, ağda bunun için çok az kaynak var.

Oldukça deneyimli geliştiriciler için uygundur, çünkü şu anda çerçeve hakkında çok az bilgi vardır. Hem basit hem de karmaşık projeler oluşturmak için harika.

Miligram

Miligram, Skeleton'a benzer başka bir hafif çerçevedir. Gzip ile sıkıştırıldıktan sonra dosya boyutu 2Kb'ye ulaşır ve bu da geliştiricilere kolay ve rahat bir başlangıç ​​sağlar.

Milligram'daki ızgara sistemi, CSS Esnek Kutu Düzen Modülü standardını kullandığından çoğundan farklıdır. Ayrıca yazı tipleri, düğmeler, formlar, listeler, tablolar, alıntılar ve daha fazlası dahil olmak üzere başlamanıza yardımcı olacak birkaç temel bileşenle birlikte gelir.

çok hafif, Gzip ile sıkıştırmadan sonra sadece 2Kb;

Flexbox ızgara sistemini kullanır.

çerçeve oldukça yeni, hakkında çok az bilgi var;

daha büyük çerçevelere kıyasla minimum stil bileşeni sayısı.

Çok fazla stil bileşeni gerektirmeyen küçük projeler oluşturan geliştiriciler ve Flexbox kullanmak isteyen geliştiriciler için uygundur.

Susy

Bazıları, karmaşık yerleşim sorunlarını çözdüğü için Susy'nin tam olarak bir ön uç çerçeve olmadığını söyleyecektir. Aslında, birçok kişi Susy'yi bir ızgara sistemi olarak görüyor, ancak düzen insanları için vazgeçilmez bir araç haline gelebilir.

Susy, ağlar oluşturmanız için sizi karışımlarla donatır. Çerçeve sizin için tüm hesaplamaları yapar, bu da çok zaman ve emek tasarrufu sağlar.

Susy, herhangi bir karmaşıklıkta ızgaralar oluşturmanıza olanak tanır. Karmaşık bir ızgara sistemi oluşturarak bir sorunu çözmeye çalışıyorsanız, Susy yardım etmek için burada.

artırılmış esneklik, herhangi bir karmaşıklıkta ızgaralar oluşturmanıza olanak tanır;

otomatik hesaplamalar.

başka bir çerçeve gerektirecek tüm site tasarımı konularını kapsamaz;

yerleşik ızgaralar yok.

Benzersiz düzen zorlukları olan geliştiriciler için uygundur.

Ön uç çerçeve istatistikleri

Kararınız çerçevenin popülaritesine dayanmamalıdır. Çerçeve, geliştirme ihtiyaçlarına göre seçilmelidir. Yine de tüm bu çerçevelerin sıralamada nasıl yer alacağı ilginç. Aşağıdaki liste, her projenin yazıldığı sırada GitGub'da kaç yıldız aldığını (en popülerden en az popülere) gösterir.

Önyükleme: 101.433 yıldız

Semantik-UI: 28.170 yıldız

Temel: 24.127 yıldız

Gerçekleştir: 21.515 yıldız

Malzeme Kullanıcı Arayüzü: 19.631 yıldız

Saf: 14.967 yıldız

İskelet: 12.622 yıldız

UIKit: 7.433 yıldız

Miligram: 4.195 yıldız

Susy: 3.506 yıldız

Ek olarak, Google Trends'teki TOP 5 front-end çerçevelerinin bir karşılaştırmasında, Bootstrap'ın bahsetme sayısı açısından hala rakiplerinin üzerinde olduğunu görebilirsiniz.

Çözüm

Gördüğünüz gibi, farklı ön uç çerçevelerin kendi avantajları vardır. Bir geliştiriciye veya projeye uygun olan, diğerine uymayabilir. Bu nedenle, belirli bir şey seçmeden önce birçok seçeneği analiz etmek son derece önemlidir.

Bir ön uç çerçeve seçmeden önce, projenizin temel gereksinimlerinin yanı sıra bilgi düzeyinizi de belirleyin. Şansınız, listedeki ürünlerden bir veya daha fazlası sizin için mükemmeldir.

Günümüzde sitenizi karmaşık web geliştirme dillerini kullanarak oluşturmanıza gerek yok. Artık kendi kendine kitaplıklar, bileşenler oluşturmadan, model ayrımı ve düşük seviyeli güvenlik sağlamadan yapabilirsiniz. PHP çerçeveleri sayesinde bu adımları atlayabilirsiniz.

Şaşırtıcı duyarlı web siteleri oluşturmak için kullanabileceğiniz en iyi 9 çerçeveye bir göz atalım.

1. Senfoni 2

Bu çerçeve kesinlikle yeni başlayanlar için değildir. Modellerin, nesnelerin, rotaların, denetleyicilerin birçok işleviyle karmaşık görünebilir. Ancak sağlam bir PHP ve HTML bilginiz varsa, onunla harika web uygulamaları oluşturabilirsiniz.

Symfony, GitHub'da barındırılan açık kaynaklı bir projedir ve 300.000'den fazla programcı onunla çalışmış ve kodlarını geliştirmiştir.

Symfony 2, çoğu platforma kolayca yüklenen bir dizi yeniden kullanılabilir PHP bileşeninden oluşur. Ve bildiğiniz gibi, çok kararlı ve esnektir.

2. Falcon

En hızlı PHP platformu olan C ile yazılmış bir çerçevedir. Yönlendirme, şablon tarama, önbelleğe alma ve ORM, denetleyiciler, sorgu dili vb. gibi en yeni özelliklerin çoğunu sunar.

Phalcon, düşük sistem gereksinimleri sayesinde rekabette her zaman bir adım öndedir. çok daha az kaynak kullanımına izin verir. Ayrıca bağımlılık enjeksiyonu, PHP yardımcı setleri, PSR-4 aracılığıyla otomatik yükleyici ve gelişmiş yönlendirme özellikleri. Öğrenmesi fazla zaman almadığı için deneyimsiz kullanıcılar için uygundur. İşte PHP'de hangi çerçeveyi seçeceğiniz.

3. Laravel

Laravel, 2016'daki en popüler çerçevedir. Aynı zamanda öğrenmesi en kolay çerçevedir. En güçlü özelliği, "adlı kendi şablon motorudur. Bıçak ağzı", sitenizde ek kaynak tüketmez.

Laravel ayrıca üçüncü taraf paketlerini sitenize entegre etmek için bir araca sahiptir. Laravel, hızlı bir şekilde başlamayı kolaylaştıran geniş, aktif bir topluluk tarafından desteklenmektedir.

4. Yii

Başka bir kullanımı kolay açık kaynak çerçevesi. PHP5 kullanımı sayesinde geliştirme süreci sorunsuz ve verimli bir şekilde çalışacaktır. Çerçeve, profesyonel web siteleri için gerekli tüm işlevlerin yanı sıra CMS ve CRM'yi içerir. Bunlar, herhangi bir güvenilir komut dosyasının temeli olan iki başlangıç ​​noktasıdır.

Güvenlik söz konusu olduğunda, Yii harika çalışıyor. Yii'nin bir parçası olarak sunulan Gii, güçlü bir kod üreticisidir. Bu sayede kolayca formlar, modüller, CRUD , modeller vb. oluşturabilirsiniz.

5. CodeIgniter

Web uygulamaları oluşturmak için güvenilir tam özellikli araç. Yalnızca 2 MB disk alanı kaplar ve kullanıcı kılavuzu, karmaşık MVC'yi atlamayı kolaylaştıran bileşenlerin ayrıntılarını verir.

CodeIgniter, şablonlar ve eklentiler içeren bir arama aracı sağlar.

6. Kek

PHP çerçeveleri sıralamamız, 2005'te piyasaya sürülmesine rağmen 9 dili de destekleyen modern ortamla devam ediyor. CakePHP 3.3, güçlü bir çerçeve olarak konumlandırılmıştır.

Bununla acemi programcılar bile görsel olarak çekici web siteleri oluşturabilir. Çerçeve, daha verimli veri yönetimi için bir model desteği olan bir MVC modelidir. ORM özelliklerinin yanı sıra birçok bileşen, eklenti ve yardımcı.

CakePHP en çok ticari siteler için uygundur ve karmaşık YAML veya XML dosyaları içermediğinden yapılandırma gerektirmez.

7. ZendPHP

Bu çerçeve 9 yıl önce yayınlandı ve hala alaka düzeyini kaybetmiyor. Bu nesne yönelimli bir çerçevedir, bu nedenle kalıtım veya arabirimler için kullanmak en iyisidir. En son sürümü PHP7 için optimize edilmiştir, ancak PHP 5.5 de mükemmel şekilde desteklenmektedir.

Zend, MVC yığınını Apigility gibi ara katman yazılım modellerine dayalı daha basit bir alternatifle değiştirdi.

Bu çerçeve, öğrenmesi zor olduğu için yeni başlayanlar için uygun değildir. Ancak alıştığınızda büyük ölçekli web projeleri geliştirebileceksiniz.

8. YakıtPHP

Hem yeni başlayanlar hem de profesyoneller için yakıt önerilir. HMVC'yi destekleyen popüler bir PHP çerçevesidir. Sadeliği, esnekliği ve modern özellikleri ile dünya çapında tanınmaktadır.

Yazarlarının hazırladığı güçlü dokümantasyon bölümü böylece geliştiriciler temiz sözdizimi kullanarak profesyonel web siteleri oluşturabilirler. Çerçeve, herhangi bir kullanıcı herhangi bir sunucudan Fuel ile çalışabileceğinden, gelişmiş içe aktarma yetenekleri ile karakterize edilir.

9. İnce

Mikro çerçeveler olarak kategorize edilebilen esnek bir PHP çerçevesi. Optimize edilmiş yönlendirici, özel görünümlere sahip şablon oluşturma özelliği, güvenli çerezler, anlık mesajlaşma özellikleri, HTTP önbelleğe alma, hata işleme ile birlikte gelir.

Bu, duyarlı web siteleri oluşturmak için en iyi PHP çerçeveleri listemizi tamamlıyor. Artık oluşturduğunuz sitelerin kalitesinin sadece beceri seviyenizle değil, aynı zamanda doğru çerçeve seçimiyle de belirlendiğini anlamalısınız.

Makalenin çevirisi " Müthiş Duyarlı Web Siteleri Oluşturmak için En İyi 9 PHP Çerçevesi» güler yüzlü proje ekibi .