Technológiák összehasonlítása J2EE - PHP

Slides:



Advertisements
Hasonló előadás
Flex: csak rugalmasan! Kiss-Tóth Marcell Magyarországi Web Konferencia március 18.
Advertisements

DFAN-INF-524 és DFAL-INF-524 kurzus hallgatói számára
Adminisztratív kérdések
J2EE keretrendszerek vizsgálata Önálló laboratórium, 2008 tavasz Farkas Gábor, OTX0QR Konzulens: Imre Gábor.
Generatív programozás
CSS médiatípusok - példák
JavaScript.
Weben publikált térképek a földrajzi kutatásokban Ádám Eszter Geográfus MSc hallgató.
Stílus, mesteroldal, témák
Bevezetés a Java programozásba
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
STÍLUSOK Tulajdonságok és értékek. Színek megadási módjai H1 {color: #CCF150} H1 {color: rgb(204,241,80)} H1 {color: rgb(80%,95%,30%)} H1 {color: red}
Leírónyelvek: HTML és XHTML
© BZ, 2006Stíluslapok használata1 Váltsunk stílust! Stíluslapok a webszerkesztésben.
Hernyák Zoltán XML és HTML.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Programozási technológia 1
Szombathely Dinamikus WEB programozás: PHP és JSP.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
Egyszerű webes alkalmazás fejlesztése
WEB MES (webes gyártásirányító rendszer)
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
CSS.
A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt.
Web Application for Resource Planning
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
A <DIV> tag és formázás CSS-sel
PHP oktatási tapasztalatok
Bevezetés a PHP világába - kezdőknek
CSS A CSS bemutatása.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hyper Text Markup Language
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Visual Basic 2008 Express Edition
Java programozási nyelv Metódusok
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Java programozási nyelv Adatbekérés konzolról
Webprogramozó tanfolyam
Java web programozás 7-8..
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java web programozás 5..
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Programok készítése és futtatása. Integrált fejlesztői környezet (IDE) tartalmaz:  szövegszerkesztőt a program forráskódjának szerkesztésére,  fordítóprogramot.
JSF – komponens alapú webfejlesztés. Mi az a JSF mire jó ● Egy szerver oldali, komponens alapú felhasználói felület keretrendszer ● Támogatja a webes.
Alkalmazásfejlesztés F#-ban Dunaújvárosi Főiskola Kiss Gyula mérnökinformatikus hallgató Nemzeti Tehetség Program Tehetségútlevél Program „NTP-TÚP ”
Script nyelvek előadás
Script nyelvek előadás
Script nyelvek előadás
Hibernate / EclipseLink / OpenJPA összehasonlítás
CSS Cascading Style Sheet HTML.
Hernyák Zoltán Programozási Nyelvek II.
Cascading Style Sheet.
JavaScript a böngészőben
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
MySQL története, részei, felhasználhatóság, PHPMyAdmin
JavaScript a böngészőben
Kód tördelése és a megjelenés
Előadás másolata:

Technológiák összehasonlítása J2EE - PHP Csikor Ákos tes@inf.elte.hu ELTE IK

Bevezetés – J2EE Java Platform Enterprise Edition Készítette: Sun Microsystems Objektumorientált programozási nyelv Platformfüggetlen („Írd meg egyszer és futtasd bárhol”) JVM: Java Virtual Machine Nagyvállalatoknál használatos technológia Fejlesztés hordozható, robosztus, skálázható, biztonságos szerveroldali alkalmazások

Bevezetés – PHP PHP Hypertext Preprocessor Kitalálta: Rasmus Lerdorf Létrejötte után gyorsan fejlődött Jelenleg: Zend cég fejleszti Script programozási nyelv Oldalak dinamikus működéséhez Kis- és középvállalatoknak készült Jelenleg több mint 10 millió webhelyen található

Nyelvi elemek a JSP J2EE-ben és a PHP-ban Alapjaiban különböznek OOP ↔ Scriptnyelv Tag-ek: JSP: adott tag library-t milyen prefix segítségével PHP: egyszerűbb: <?php ?> Beágyazott kódok: JSP: engedélyezett a forráskódok beillesztése <h:inputText binding="#{backing_topic.topicName}" id="topicname" required="false” /> PHP: az csak így működik, nem lehet különválasztani <input type=”text” name=”felhasználónév”>

A megjelenítő és logikai réteg szétválaszthatósága Nagy méretű programoknál elkülönül Előnye: Egyszerre így akár két különböző csapat dolgozhat a különböző rétegeken Sokkal olvashatóbb rétegek J2EE: JSF: backing bean-ek kapcsolása JSP-khez JSP oldalon binding tulajdonsággal változót rendelni szerveroldalon Egy backing bean akár több oldalhoz is Action esetén String visszatérésű függvények (faces-config.xml-ben navigáció) PHP: Nem annyira áll távol egymáshoz képest a két réteg PHP mellett megjelennek a HTML elemek Keretrendszerrel lehetne a két réteget „szétválasztani”

Adatelérés J2EE: PHP: Entity Bean-eket használjuk az EJB rétegből Bean-ekhez a kezelő a Session Bean Bean-eket táblákhoz rendeljük egy Object-Relational Mapping-gel Adat = objektum PHP: Nincs ilyen réteg SQL parancsok gépelése a forráskódban A legtöbb adatbázishoz a függvények biztosítottak Adat = adat

Példakód - PHP <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="hu"> <title>Proba Php</title> <body> <?php if( isset($_POST["username"]) && !empty($_POST["username"]) && isset($_POST["username"]) && !empty($_POST["password"]) ) print "Username: " . $_POST["username"] . "<br />"; print "Password: " . $_POST["password"] . "<br />"; ?> <form id="form1" name="form1"> <input type="text" name="username" /><br /> <input type="password" name="password" /><br /> </form> </body> </html>

Példakód – J2EE (JSP file) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page contentType="text/html;charset=windows-1250"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <f:view> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Index</title> </head> <body> <h:form binding="#{backing_topic.form1}" id="form1"> <h:inputText binding="#{backing_topic.topicName}" id="topicname" required="false" /> <h:commandButton value="Add" style="font-family: Verdana, sans-serif, Arial; font-weight: normal; font-size: 11px; color: #404040; background-color: #fafafa; text-align: left; padding-left: 3px;" action="#{backing_topic.addTopicButton_action}" /> <br /> </h:form> </body> </html>

Példakód – J2EE (JSF file) public class Topic { private HtmlForm form1; private HtmlInputText topicName; . public void setForm1(HtmlForm form1) { this.form1 = form1; } public HtmlForm getForm1() { return form1; public void setTopicName(HtmlInputText topicName) { this.topicName = topicName; public HtmlInputText getTopicName() { return topicName; public void setTopic(HtmlInputText topicName){ cm.addTopics(topicName.toString()); public String addTopicButton_action(){ try{ cm.addTopics(topicName.getValue().toString()); catch(NullPointerException ex){ return "";

Technológiákat segítő fejlesztői környezetek Számos fejlesztői környezet Vannak fizetősek és ingyenesek Mégtöbb editor, ami csak a szintaxist ismeri Mindegyik internetről beszerezhető Mindkét technológiát kitaláló cég írt hozzá keretrendszert

J2EE fejlesztői környezetek NetBeans: www.netbeans.org Sun fejleszti, ingyenes Standard-tól enterprise-ig támogat GUI-t Drag’nDrop technikával Jelenleg: 6.0 Beta2, 5.5.1 stabil

J2EE fejlesztői környezetek JDeveloper Studio Edition: http://www.oracle.com/technology/products/jdev/ Oracle fejleszti, ingyenes, adatbázisához Jelenleg: 11.1.1, 10.1.3.3

J2EE fejlesztői környezetek Eclipse: www.eclipse.org Ingyenes, nagyon sok plugin van hozzá Nagyon sok programozási nyelvet ismer Jelenleg: 3.3.1.1

PHP fejlesztői környezetek Zend Studio: www.zend.com Zend fejleszti, egyik legnagyobb, fizetős($254) lassú, beépített webserver

PHP fejlesztői környezetek NuSphere PhpED: www.nusphere.com NuSphere fejleszti, másik legnagyobb, fizetős ($249), beépített webserver

Fejlesztői környezetek Funkcionalitásukban megegyeznek: Kinézetük: ProjectExplorer: projectünket láthatjuk fa struktúrában ServerExplorer: projektünket nézhetjük a háttértároló szemszögéből ComponentPalette: GUI-hoz a grafikai elemek ConnectionExplorer: adatbázis menedzseléséhez Refactoring … Dokumentációgenerálás Javadoc, PHPDocumentor Működésük megegyezik

Összegzés Másképp és más célból születtek Célközönségük különböző J2EE: nagyvállalat PHP: kis- és középvállalat PHP egyszerű nyelv – sokan ismerik J2EE sokkal komplexebb – komoly háttértudás

Köszönöm a figyelmet ! Csikor Ákos Technológiai összehasonlítás J2EE – PHP ----------------------------------------------------------- Csikor Ákos tes@inf.elte.hu ELTE IK