1.grailsdjangoåªä¸ªå¥½ï¼
2.vuedjangoåªä¸ªå¥½
3.Djangoå端ç¨ä»ä¹è¯è¨ï¼pythondjangoå端ï¼
4..netcore有哪些不错的开源项目?
5.Djangoå端ç¨ä»ä¹è¯è¨ï¼python djangoå端ï¼
grailsdjangoåªä¸ªå¥½ï¼
导读ï¼ä»å¤©é¦å¸CTOç¬è®°æ¥ç»åä½åäº«å ³äºgrailsdjangoåªä¸ªå¥½çç¸å ³å 容ï¼å¦æè½ç¢°å·§è§£å³ä½ ç°å¨é¢ä¸´çé®é¢ï¼å«å¿äºå ³æ³¨æ¬ç«ï¼ç°å¨å¼å§å§ï¼pythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨VueReactlayuiangularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼å项ç®è¦æ±æççè¯ï¼æ¨è2个ç°æçã
æä¾2个ç°æç
drupal
orchardcore
grailsæ¯å¹²ä»ä¹ç?请详ç»è¯´æï¼Grailsæ¯ä¸å¥ç¨äºå¿«éWebåºç¨å¼åçå¼æºæ¡æ¶ï¼å®åºäºGroovyç¼ç¨è¯è¨ï¼å¹¶æ建äºSpringãHibernateåå ¶å®æ åJavaæ¡æ¶ä¹ä¸ï¼ä»è为大家带æ¥ä¸å¥è½å®ç°è¶ é«ç产åçä¸ç«å¼æ¡æ¶ã
RubyonRailså¼åäºå°ä¸é¨å¼ºå¤§çç¼ç¨è¯è¨åä¸ä¸ªåæå·±è§ãæå¡ç¨éæ è¾¾ççé»è®¤è®¾ç½®ä»£æ¿å¤æé ç½®çæ¡æ¶è¿è¡åé æ§ç»åçå æ²³ãç¶èï¼è¿æ许å¤ç»ç»å¹¶æ²¡æå好ä»Javaçå®å ¨ä¿æ¤ä¼ä¸èµ°åºçåå¤ï¼ä¹æ²¡ææç®æ¾å¼ä»ä»¬ç®åå¨Javaä¸çæå ¥ãèGrailsçåºç°ï¼ä½¿å¾å¨ä¸ä¸ªä»¥Java为ä¸å¿çç¯å¢ä¸å®ç°åçç产åçæ³æ³æ为å¯è½ã
Grailsçæ件系ç»
grailsçæ件系ç»ä¹æ¯å ¶äº®ç¹ä¹ä¸ãé¦å ï¼årailsï¼djangoçwebæ¡æ¶ç±»ä¼¼ï¼åºäºå¾®å æ ¸çææ³ï¼æ件ï¼å¯éç¨æ¨¡åï¼æ¯æ¡æ¶çä¸çå ¬æ°ãgrailsé¤äºæ ¸å¿æ¨¡å以å¤çåè½å ä¹é½æ¯éè¿æ件æ¹å¼å®ç°çãå®é ä¸ï¼ä¸ä¸ªgrailsæ件åä¸ä¸ªgrailsåºç¨åºæ¬æ¯å®å ¨ä¸æ ·çï¼åæ ·å¯ä»¥ä½¿ç¨grailsrun-appå½ä»¤æ¥è¿è¡ãåºå«ä» å¨äºä¸ä¸ªæ件çæ ¹ç®å½ä¸éè¦æä¾ä¸ä¸ªfooplugin.groovyæ件ï¼æä¾æ件çä¸äºæè¿°ä¿¡æ¯ã
grailsæ件åºæ¬å¯ä»¥åä»»ä½äºæ ï¼grails社åºå·²ç»æä¾äºåå¼åæ ·çæ件ï¼åå¸å¨grailså®æ¹æ件æºä¸ãæ¥çç°æçå®æ¹æ件ï¼å¯ä»¥æ§è¡ä¸é¢çå½ä»¤ï¼
grailslist-plugins
å®è£ æ件å¯ä»¥æ§è¡ä»¥ä¸å½ä»¤ï¼
grailsinstall-pluginæ件åææ件路å¾
HelloWorld示ä¾
æ¯æ¶ä¸ä¸ªè¢«ç¨çäºèåç»å ¸çä¾åï¼å¨å建åºç¨ç¨åºä¹åï¼å çæä¸ä¸grailså½ä»¤ç使ç¨ï¼ç¡®ä¿grailsç¯å¢å·²é 置好ï¼ã
grailscommandname
ç°å¨æ们为äºå建ä¸ä¸ªGrailsåºç¨ï¼éè¦è¾å ¥çå½ä»¤æ¯create-app
grailscreate-apphelloworld
è¿æ ·å°±å¨å½åç®å½ä¸å建äºä¸ä¸ªå为helloworldï¼å³æ们çåºç¨ç¨åºåï¼çæ件夹ï¼å¨è¿ä¸ªæ件夹ä¸å å«äºæ们è¿ä¸ªé¡¹ç®çæ´ä¸ªæ件ç®å½ï¼å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤è¿å ¥è¿ä¸ªç®å½ä¸æ¥çï¼
cdhelloworld
为äºå®æè¿ä¸ªç»å ¸çHelloWorld示ä¾ï¼æ们éè¦è¿è¡create-controllerå½ä»¤ï¼æ¨å è¿å ¥CMDå½ä»¤è¡å¹¶æ§è¡ï¼
grailscreate-controllerhello
è¿è¡è¯¥å½ä»¤åä¼å¨grails-app/controllerç®å½ä¸å建ä¸ä¸ªå为HelloController.groovyçæ§å¶å¨æ§å¶å¨ä¸»è¦ç¨æ¥å®æ对Web请æ±çå¤çï¼æ们ç¨å¾®ä¿®æ¹ä¸ä¸æ§å¶å¨çå 容ï¼ä½¿å®è½å¤å¨é¡µé¢ä¸è¾åºHelloWorld!çåæ ·ï¼ä»£ç å¦ä¸:
classHelloController{ defworld={ renderHelloWorld!}}ç°å¨æ§å¶å¨å·²ç»å®æäºï¼æ¥ä¸æ¥è¦ä½¿ç¨run-appæ¥å¯å¨å ç½®çjettyæå¡å¨è¿è¡ååå建çhelloworldç¨åº
grailsrun-appè¿è¡åä¼å¨ç«¯å£ï¼é»è®¤ï¼å¯ä»¥ä½¿ç¨-Dserver.portæ¥æå®ç«¯å£ï¼å¯å¨æå¡å¨ï¼ç¶åå¨æµè§å¨ä¸è¾å ¥æ¥å¯å¨åºç¨ç¨åº.
Pythonä¸å¤§webæ¡æ¶åå«æ¯ä»ä¹åªä¸ªæ´å¥½ã导读ãç®åï¼Pythonæ¯è¾ç«çä¸å¤§webæ¡æ¶æDjangoãFlaskåTornadoï¼è¦è®ºè¿ä¸ä¸ªWebæ¡æ¶åªä¸ªæ´å¥½çè¯ï¼å»ºè®®ä¸ç¹ï¼Django帮æ们äºå æ建äºå¥½å¤ï¼ä¸æä¼å¿«ä¸äºï¼å¦ä¹ çè¯å¯ä»¥å ä»Djangoå¦èµ·ï¼ç¶ååå¦ä¹ FlaskåTornadoï¼ä¸é¢æ们就æ¥å ·ä½äºè§£ä¸ä¸Pythonä¸å¤§webæ¡æ¶ç详æ ã
1ãDjango
Djangoæ¯ä¸ä¸ªå¼æ¾æºä»£ç çWebåºç¨æ¡æ¶ï¼ç±Pythonåæãéç¨äºMTVçæ¡æ¶æ¨¡å¼ï¼å³æ¨¡åMï¼æ¨¡æ¿Tåè§å¾Vãå®æåæ¯è¢«å¼åæ¥ç¨äºç®¡çå³ä¼¦æ¯åºçéå¢æä¸çä¸äºä»¥æ°é»å 容为主çç½ç«çï¼å³æ¯CMS(å 容管çç³»ç»)软件ã
2ãFlask
Flaskæ¯ä¸ä¸ªä½¿ç¨Pythonç¼åçè½»é级Webåºç¨æ¡æ¶ãå ¶WSGIå·¥å ·ç®±éç¨Werkzeugï¼æ¨¡æ¿å¼æå使ç¨Jinja2
ãFlask使ç¨BSDææã
Flaskä¹è¢«ç§°ä¸ºâmicroframeworkâï¼å 为å®ä½¿ç¨ç®åçæ ¸å¿ï¼ç¨extension
å¢å å ¶ä»åè½ãFlask没æé»è®¤ä½¿ç¨çæ°æ®åºãçªä½éªè¯å·¥å ·ã
Flaskå¾è½»ï¼è±å¾å°çææ¬å°±è½å¤å¼åä¸ä¸ªç®åçç½ç«ãé常éååå¦è å¦ä¹ ãFlaskæ¡æ¶å¦ä¼ä»¥åï¼å¯ä»¥èèå¦ä¹ æ件ç使ç¨ãä¾å¦ä½¿ç¨WTForm+
Flask-WTFormæ¥éªè¯è¡¨åæ°æ®ï¼ç¨SQLAlchemy+Flask-SQLAlchemyæ¥å¯¹ä½ çæ°æ®åºè¿è¡æ§å¶ã
3ãTornado
Tornadoæ¯ä¸ç§Webæå¡å¨è½¯ä»¶çå¼æºçæ¬ãTornadoåç°å¨ç主æµWebæå¡å¨æ¡æ¶(å æ¬å¤§å¤æ°Python
çæ¡æ¶)æçææ¾çåºå«ï¼å®æ¯éé»å¡å¼æå¡å¨ï¼èä¸é度ç¸å½å¿«ã
å¾å©äºå ¶éé»å¡çæ¹å¼å对epollçè¿ç¨ï¼Tornadoæ¯ç§å¯ä»¥å¤çæ°ä»¥å计çè¿æ¥ï¼å æ¤Tornadoæ¯å®æ¶Webæå¡çä¸ä¸ª
çæ³æ¡æ¶ã
å ³äºPythonä¸å¤§webæ¡æ¶çç®åä»ç»ï¼å°±ç»å¤§å®¶å享å°è¿éäºï¼å½ç¶å¦ä¹ æ¯æ°¸æ æ¢å¢çï¼å¦ä¹ ä¸é¡¹æè½æ´æ¯åçç»èº«ï¼æ以ï¼åªè¦è¯åªåå¦ï¼ä»ä¹æ¶åå¼å§é½ä¸æï¼å¸æ大家æç´§æ¶é´è¿è¡å¦ä¹ å§ã
Pythonæåªäºå¥½çWebæ¡æ¶
æµ è°äºå¤§PythonWebæ¡æ¶
说å°WebFrameworkï¼Rubyçä¸çRailsä¸ç»æ±æ¹ï¼èPythonåæ¯ä¸ä¸ªç¾è±é½æ¾çä¸çï¼åç§micro-frameworkãframeworkä¸å¯èæ°ã
è½ç¶å¦ä¸å¤§èæ¬è¯è¨PHPä¹æä¸å°æ¡æ¶ï¼ä½è¿æ²¡æPythonè¿ä¹å¤¸å¼ ï¼ä¹æ£æ¯å 为PythonWebFrameworkï¼PythonWebå¼åæ¡æ¶ï¼ä»¥ä¸ç®ç§°Pythonæ¡æ¶ï¼å¤ªå¤ï¼æ以å¨Python社åºæ»æå ³äºPythonæ¡æ¶å°ä¼å°å£çè¯é¢ï¼è®¨è®ºçæ¶é´è·¨åº¦çè³é¿è¾¾3-5å¹´ã
Pythonè¿ä¹å¤æ¡æ¶ï¼è½æ¨ä¸ªç©ä¸ªéç人ä¸å¤ï¼å¦ç½ç说æä¹åªç¨è¿å ¶ä¸çä¸ä¸ªå¼åè¿é¡¹ç®ï¼å¦å¤ä¸äºç¨å¾®æ¥è§¦è¿ï¼æ以è¿éåªè½æµ è°ä¸ä¸ã
Djangoï¼Pythonæ¡æ¶è½ç¶è¯´æ¯ç¾è±é½æ¾ï¼ä½ä»ç¶æé£ä¹ä¸å®¶æ¯æ大çï¼å®å°±æ¯Djangoãè¦è¯´Djangoæ¯Pythonæ¡æ¶éæ好çï¼æ人åæä¹æ人åå³å对ï¼ä½è¯´Djangoçææ¡£æå®åãå¸åºå æçæé«ãæèèä½æå¤ä¼°è®¡å¤§å®¶é½æ²¡ä»ä¹æè§ãDjango为人æ称éçå°æ¹ä¸»è¦æï¼?å®ç¾çææ¡£ï¼Djangoçæåï¼æè§å¾å¾å¤§ä¸é¨ååå è¦å½åäºDjangoè¿ä¹å®ç¾çå®æ¹ææ¡£ï¼å æ¬Djangobookï¼ã
å ¨å¥ç解å³æ¹æ¡ï¼Django象Railsä¸æ ·ï¼æä¾å ¨å¥ç解å³æ¹æ¡ï¼full-stackframework+batteriesincludedï¼ï¼åºæ¬è¦ä»ä¹æä»ä¹ï¼æ¯å¦ï¼cacheãsessionãfeedãormãgeoãauthï¼ï¼èä¸å ¨é¨Djangoèªå·±é ï¼å¼åç½ç«åºæçå·¥å ·Djangoåºæ¬é½ç»ä½ å好äºï¼å æ¤å¼åæçæ¯ä¸ç¨è¯´çï¼åºäºé®é¢ä¹ç®å¥½æ¾ï¼ä¸å¨ä½ ç代ç éå°±å¨Djangoçæºç éã
强大çURLè·¯ç±é ç½®ï¼Djangoè®©ä½ å¯ä»¥è®¾è®¡åºé常ä¼é çURLï¼å¨Djangoéä½ åºæ¬å¯ä»¥è·ä¸éçGETåæ°è¯´ææã?èªå©ç®¡çåå°ï¼admininterfaceæ¯Djangoéæ¯è¾å¸å¼ç¼ççä¸é¡¹contribï¼è®©ä½ å ä¹ä¸ç¨åä¸è¡ä»£ç å°±æ¥æä¸ä¸ªå®æ´çåå°ç®¡ççé¢ã
èDjangoç缺ç¹ä¸»è¦æºèªDjangoåæèªå·±é ææçè½®åï¼æ´ä¸ªç³»ç»ç¸å¯¹å°éï¼Djangoæ为人è¯ç çå°æ¹æï¼?ç³»ç»ç´§è¦åï¼å¦æä½ è§å¾Djangoå ç½®çæ项åè½ä¸æ¯å¾å¥½ï¼æ³ç¨å欢ç第ä¸æ¹åºæ¥ä»£æ¿æ¯å¾é¾çï¼æ¯å¦ä¸é¢å°è¦è¯´çORMãTemplateã
è¦å¨Djangoéç¨SQLAlchemyæMakoå ä¹æ¯ä¸å¯è½ï¼å³ä½¿æäºä¸äºè¡¥ä¸ç¨ä¸äºä¹ä¼è®©ä½ è§å¾é常é常å«æã?Djangoèªå¸¦çORMè¿ä¸å¦SQLAlchemy强大ï¼é¤äºå¨Djangoè¿ä¸äº©ä¸åå°ï¼SQLAlchemyæ¯Pythonä¸çéäºå®ä¸çORMæ åï¼å ¶å®æ¡æ¶é½æ¯æSQLAlchemyäºï¼å¯ç¬Djangoä»ç¶åæèªå·±çé£ä¸å¥ãDjangoçå¼å人å对SQLAlchemyçæ¯æä¹æ¯æè¿è®¨è®ºåå°è¯çï¼ä¸è¿æç»è¿æ¯æ¾å¼äºï¼ä¼°è®¡æ¯ä»£ä»·å¤ªé«ä¸è·Djangoå ¶å®ç模åå¾é¾åå°ä¸åã?Templateåè½æ¯è¾å¼±ï¼ä¸è½æå ¥Python代ç ï¼è¦åå¤æä¸ç¹çé»è¾éè¦å¦å¤ç¨Pythonå®ç°TagæFilterãURLé ç½®è½ç¶å¼ºå¤§ï¼ä½å ¨é¨è¦æåï¼è¿ä¸ç¹è·RailsçConventionoverconfigurationçç念å®å ¨ç¸å·¦ï¼é«æååè¯Djangoç人é åºæ¥çURLä¼æå¾å¤§å·®å¼ã
è®©äººçº ç»çauth模åï¼Djangoçauthè·å ¶å®æ¨¡åç»åç´§å¯ï¼åè½ä¹æºå¼ºçï¼å°±æ¯åçæç¹è¿äºï¼ç¨æ·çæ°æ®åºschemaé½ç»ä½ å®å¥½äºï¼è¿æ ·é®é¢å°±æ¥äºï¼æ¯å¦å¾å¤ç½ç«è¦æ±emailå°åå¯ä¸ï¼å¯schemaéè¿ä¸ªå段çå¼ä¸æ¯å¯ä¸çï¼çº ç»æ¯å¿ é¡»çäºã
Pythonæ件åé ç½®æ件ï¼èä¸æ¯æ´å¸¸è§çiniãxmlæyamlçå½¢å¼ãè¿æ¬èº«ä¸æ¯ä»ä¹é®é¢ï¼å¯æ¯å 为ç论ä¸æ¥è¯´settingsçå¼æ¯è½å¤å¨æçæ¹åçï¼è½ç¶å¤§å®¶ä¸ä¼è¿ä¹å¹²ï¼ï¼ä½è¿ä¸æ¯æä½³å®è·µçä½ç°ã?æ»çæ¥è¯´ï¼Django大å 大æ½ï¼ç¨å®æ¥å¿«éå¼åä¸äºWebè¿ç¨æ¯å¾ä¸éçãå¦æä½ é¡ºçDjangoç设计å²å¦æ¥ï¼ä½ ä¼è§å¾Djangoå¾å¥½ç¨ï¼è¶ç¨è¶é¡ºæï¼ç¸åï¼ä½ å¦æä¸è½èå ¥ææ¥åDjangoç设计å²å¦ï¼ä½ ç¨Djangoä¸å®ä¼å¾çè¦ï¼è¶æ©æ¾å¼ç好ã
æ以说å¨æäºäººç¼éDjangoæ å¼äºä»ä¸¹ï¼ä½å¯¹æä¸äºäººæ¥è¯´å®åæ¯æ¯è¯ä¸å§æ¯ã?PylonsTurboGearsrepoze.bfgé¤äºDjangoå¦ä¸ä¸ªå¤§å¤´å°±æ¯Pylonsäºï¼å 为TurboGears2.xæ¯åºäºPylonsæ¥åçï¼èrepoze.bfgä¹å·²ç»å¹¶å ¥Pylonsprojectéè¿ä¸ªå¤§ç项ç®éï¼åé¢ä¸ååç¬è®¨è®ºTurboGearsårepoze.bfgäºã
PylonsåDjangoç设计ç念å®å ¨ä¸åï¼Pylonsæ¬èº«åªæ两åè¡å·¦å³çPython代ç ï¼ä¸è¿å®è¿é带æä¸äºå ä¹å°±æ¯Pylons御ç¨ç第ä¸æ¹æ¨¡åãPylonsåªæä¾ä¸ä¸ªæ¶ååå¯éæ¹æ¡ï¼ä½ å¯ä»¥æ ¹æ®èªå·±çå好èªç±çéæ©TemplateãORMãformãauthçç»ä»¶ï¼ç³»ç»é«åº¦å¯å®å¶ãæ们常说Pythonæ¯ä¸ä¸ªè¶æ°´è¯è¨(gluelanguage)ï¼é£ä¹æ们å®å ¨å¯ä»¥è¯´Pylonså°±æ¯ä¸ä¸ªç¨è¶æ°´è¯è¨è®¾è®¡çè¶æ°´æ¡æ¶ã?éæ©Pylonså¤æ¯éæ©äºå®çèªç±ï¼éæ©äºèªç±çåæ¶ä¹é¢ç¤ºçä½ éæ©äºå©æ¢¦ï¼?å¦ä¹ å©æ¢¦ï¼Pylonsä¾èµäºè®¸å¤ç¬¬ä¸æ¹åºï¼å®ä»¬å¹¶ä¸æ¯Pylonsé ï¼ä½ å¦Pylonsçåæ¶è¿å¾å¦è¿äºåºæä¹ä½¿ç¨ï¼å ³é®æäºæ¶åä½ é½ä¸ç¥éä½ è¦å¦ä»ä¹ã
Pylonsçå¦ä¹ æ²çº¿ç¸å¯¹æ¯Djangoè¦é«çå¤ï¼èä¹åPylonsçå®æ¹ææ¡£ä¹ä¸ç´æ¯äººæ¹è¯ç对象ï¼å¥½å¨åæ¥åºäºTheDefinitiveGuidetoPylonsè¿æ¬ä¹¦ï¼è¿ä¸å±é¢æææ¹è§ãå 为è¿ä¸ªåå ï¼Pylonsä¸åº¦è¢«èªä¸ºåªéåé«æ使ç¨çPythonæ¡æ¶ã?è°è¯å©æ¢¦ï¼å 为çµæ¶å°ç模åå¤ï¼ä¸æ¦æé误åçå°±æ¯è¾é¾å®ä½é®é¢å¤å¨åªéã
å¯è½æ¯ä½ åçç¨åºçéãä¹å¯è½æ¯Pylonsåºéäºãåææ¯SQLAlchemyåºéäºãæä¸å¥½æ¯formencodeæbugï¼åæ£å¾åä¹±äºãè¿ä¸ªåªæç¨çå¾çäºæè½è§£å³è¿ä¸ªé®é¢ã?å级å©æ¢¦ï¼å®è£ Pylons大大å°å°å ±è¦å®è£ è¿ä¸ªPython模åï¼åæåèªççæ¬å·ï¼è¦å级Pylonsççæ¬ï¼åªä¸ªæ¨¡ååºäºä¸å ¼å®¹çé®é¢é½æå¯è½ï¼å级åºæ¬ä¸å¾é¾å¾é¾ãè³ä»redditçPylonsè¿åçå¨å¤è£ç0.9.6ä¸ï¼SQLAlchemyä¹è¿æ¯0.5.3ççæ¬ï¼åºè¯¥è·è¿æ¡æå ³ç³»ã
æåå ³äºæ¡æ¶éæ©ç误åº?å¨æ¡æ¶çéæ©é®é¢ä¸ï¼è®¸å¤äººå¾å®¹æå°±é·å ¥äºä¸é¢ä¸¤ä¸ªè¯¯åºä¸èä¸èªç¥ï¼
1.åªä¸ªæ¡æ¶æ好ââä¸ä¸æ²¡ææ好çæ¡æ¶ï¼åªææéåä½ èªå·±ãæéåä½ çå¢éçæ¡æ¶ãç¼ç¨è¯è¨éæ©ä¹æ¯ä¸ä¸ªéçï¼ä½ çå¢éPythonæçå°±ç¨Python好äºï¼å¦ææçæçæ¯Rubyé£å°±ç¨Ruby好äºï¼ç¼ç¨è¯è¨ãæ¡æ¶é½åªæ¯å·¥å ·ï¼è½å¤ãå¿«ã好ãççå¹²å®æ´»å°±æ¯å¥½ä¸è¥¿ã2.è¿åå ³æ³¨æ§è½ââå ¶å®å¤§é¨å人æ¯æ²¡å¿ è¦å¤ªå ³å¿æ¡æ¶çæ§è½çï¼å ä¸ºä½ å¼åçç½ç«æ ¹æ¬å°±æ¯ä¸ªå°ç«ï¼è½ä¸1ä¸çIPçç½ç«å·²ç»ä¸å¤äºï¼ä¸ä¸çæ´æ¯å¾å°å¾å°ãå¨æ²¡æä¸å®ç访é®éåè°æ§è½å ¶å®æ¯æ²¡æå¤å¤§æä¹çï¼å ä¸ºä½ çCPUåå åä¸ç´å°±é²çå¢ãèä¸è¯è¨åæ¡æ¶ä¸è¬ä¹ä¸ä¼æ¯æ§è½ç¶é¢ï¼æ§è½é®é¢æ常åºç°å¨æ°æ®åºè®¿é®åæ件读åä¸ãPHPçZendFrameworkæ¯åºäºåçæ ¢ï¼ä½æ¯ZendFrameworkä¸æ ·æ大ç«ï¼å¦ï¼digg.comï¼å¸¸è¢«äººè¯´ææ§è½é®é¢çRubyåRailsï¼ä¸æ¯ç §æ ·å¯ä»¥å¼ååºtwitteråï¼åè ç°å¨ç硬件ã带宽ææ¬å ¶å®æ¯å¾ä½çï¼ç¹å«æäºäºè®¡ç®å¹³å°åï¼äººåææ¬ææ¯æè´µçï¼æ²¡æä¸ä¸çIPæ ¹æ¬å°±ä¸ç¨å¤ªå¨ææ§è½é®é¢ï¼æµéä¸å»äºè±ç¹é±ä¹°ç¹æå¡å¨ç©ºé´å¥½äºï¼ç®åå¿«éç解å³æ§è½é®é¢ã?注ï¼åé¢æç½åè´¨çæâQuoraæ¯ç¨Pylonså¼åçâè¿æ ·ç说æ³ä¸å®¢è§ï¼ç¹è¯´æä¸ä¸ï¼è¿éæ说çæ个ç½ç«Aæ¯ç¨Bå¼åçï¼åªæ¯æA主è¦æé¨åæ¯ç±Bå¼åçï¼å¤§å®¶å°±ä¸è¦åå»çº ç»Aè¿ç¨Cäºã
å ³äºpythonwebï¼å»ºè®®å¤å¦ä¹ ä¸ä¸å¤§ç¥çæ¡ä¾ãä»éé¢æåç²¾é«çä¸è¥¿å 以å¸æ¶ï¼Pythonå¦ä¹ æå请çä¸é¢ç代ç
learning?=?input('Do?you?want?to?learn?Python?now(Yes?or?No):')
a?=?str(learning)
if?a?==?'Yes':
print('QQ')
else:
print('Thanks!!')
DjangoåFlaskæ¯è¾å°åºåªä¸ªæ¯è¾å¥½ç¨Flaskæ¯å°èç²¾çå¾®æ¡æ¶ï¼å®ä¸åDjangoé£æ ·å¤§èå ¨ï¼å¦æ使ç¨Flaskå¼åï¼å¼åè éè¦èªå·±å³å®ä½¿ç¨åªä¸ªæ°æ®åºORMã模åç³»ç»ãç¨æ·è®¤è¯ç³»ç»çï¼éè¦èªå·±ç»æã
ä¸éç¨Djangoå¼å对æ¯ï¼å¼åè å¨é¡¹ç®å¼å§çæ¶åå¯è½éè¦è±è´¹æ´å¤çæ¶é´å»äºè§£ãæéå个ç»ä»¶ï¼å æ¤Flaskå¼åççµæ´»åº¦æ´é«ï¼å¼åè å¯ä»¥æ ¹æ®èªå·±çéè¦å»éæ©åéçæ件ã
å½ç¶Flaskåå²ç¸å¯¹è¾çï¼ç¬¬ä¸æ¹APPèªç¶æ²¡æDjangoé£ä¹å ¨é¢ã
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºgrailsdjangoåªä¸ªå¥½çç¸å ³å 容解çæ±æ»äºï¼å¸æ对æ¨ææ帮å©ï¼å¦æ解å³äºæ¨çé®é¢æ¬¢è¿å享ç»æ´å¤å ³æ³¨æ¤é®é¢çæååï½
vuedjangoåªä¸ªå¥½
导读ï¼ä»å¤©é¦å¸CTOç¬è®°æ¥ç»åä½åäº«å ³äºvuedjangoåªä¸ªå¥½çç¸å ³å 容ï¼å¦æè½ç¢°å·§è§£å³ä½ ç°å¨é¢ä¸´çé®é¢ï¼å«å¿äºå ³æ³¨æ¬ç«ï¼ç°å¨å¼å§å§ï¼æ¬æç®å½ä¸è§ï¼1ãPythonä¸å¤§webæ¡æ¶åå«æ¯ä»ä¹åªä¸ªæ´å¥½2ãPythonæåªäºå¥½çWebæ¡æ¶3ãpythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨VueReactlayuiangularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼Pythonä¸å¤§webæ¡æ¶åå«æ¯ä»ä¹åªä¸ªæ´å¥½ã导读ãç®åï¼Pythonæ¯è¾ç«çä¸å¤§webæ¡æ¶æDjangoãFlaskåTornadoï¼è¦è®ºè¿ä¸ä¸ªWebæ¡æ¶åªä¸ªæ´å¥½çè¯ï¼å»ºè®®ä¸ç¹ï¼Django帮æ们äºå æ建äºå¥½å¤ï¼ä¸æä¼å¿«ä¸äºï¼å¦ä¹ çè¯å¯ä»¥å ä»Djangoå¦èµ·ï¼ç¶ååå¦ä¹ FlaskåTornadoï¼ä¸é¢æ们就æ¥å ·ä½äºè§£ä¸ä¸Pythonä¸å¤§webæ¡æ¶ç详æ ã
1ãDjango
Djangoæ¯ä¸ä¸ªå¼æ¾æºä»£ç çWebåºç¨æ¡æ¶ï¼ç±Pythonåæãéç¨äºMTVçæ¡æ¶æ¨¡å¼ï¼å³æ¨¡åMï¼æ¨¡æ¿Tåè§å¾Vãå®æåæ¯è¢«å¼åæ¥ç¨äºç®¡çå³ä¼¦æ¯åºçéå¢æä¸çä¸äºä»¥æ°é»å 容为主çç½ç«çï¼å³æ¯CMS(å 容管çç³»ç»)软件ã
2ãFlask
Flaskæ¯ä¸ä¸ªä½¿ç¨Pythonç¼åçè½»é级Webåºç¨æ¡æ¶ãå ¶WSGIå·¥å ·ç®±éç¨Werkzeugï¼æ¨¡æ¿å¼æå使ç¨Jinja2
ãFlask使ç¨BSDææã
Flaskä¹è¢«ç§°ä¸ºâmicroframeworkâï¼å 为å®ä½¿ç¨ç®åçæ ¸å¿ï¼ç¨extension
å¢å å ¶ä»åè½ãFlask没æé»è®¤ä½¿ç¨çæ°æ®åºãçªä½éªè¯å·¥å ·ã
Flaskå¾è½»ï¼è±å¾å°çææ¬å°±è½å¤å¼åä¸ä¸ªç®åçç½ç«ãé常éååå¦è å¦ä¹ ãFlaskæ¡æ¶å¦ä¼ä»¥åï¼å¯ä»¥èèå¦ä¹ æ件ç使ç¨ãä¾å¦ä½¿ç¨WTForm+
Flask-WTFormæ¥éªè¯è¡¨åæ°æ®ï¼ç¨SQLAlchemy+Flask-SQLAlchemyæ¥å¯¹ä½ çæ°æ®åºè¿è¡æ§å¶ã
3ãTornado
Tornadoæ¯ä¸ç§Webæå¡å¨è½¯ä»¶çå¼æºçæ¬ãTornadoåç°å¨ç主æµWebæå¡å¨æ¡æ¶(å æ¬å¤§å¤æ°Python
çæ¡æ¶)æçææ¾çåºå«ï¼å®æ¯éé»å¡å¼æå¡å¨ï¼èä¸é度ç¸å½å¿«ã
å¾å©äºå ¶éé»å¡çæ¹å¼å对epollçè¿ç¨ï¼Tornadoæ¯ç§å¯ä»¥å¤çæ°ä»¥å计çè¿æ¥ï¼å æ¤Tornadoæ¯å®æ¶Webæå¡çä¸ä¸ª
çæ³æ¡æ¶ã
å ³äºPythonä¸å¤§webæ¡æ¶çç®åä»ç»ï¼å°±ç»å¤§å®¶å享å°è¿éäºï¼å½ç¶å¦ä¹ æ¯æ°¸æ æ¢å¢çï¼å¦ä¹ ä¸é¡¹æè½æ´æ¯åçç»èº«ï¼æ以ï¼åªè¦è¯åªåå¦ï¼ä»ä¹æ¶åå¼å§é½ä¸æï¼å¸æ大家æç´§æ¶é´è¿è¡å¦ä¹ å§ã
Pythonæåªäºå¥½çWebæ¡æ¶1ãDjango
Pythonä¸æå ¨è½çWebå¼åæ¡æ¶ï¼åç§åè½å®å¤ï¼å¯ç»´æ¤æ§åå¼åé度é½ä¸çº§æ£ï¼ä¸å°äººååºDjangoæ¡æ¶æ ¢ï¼å®ä¸»è¦æ ¢å¨DjangoORMä¸æ°æ®åºç交äºä¸ï¼æ以æ¯å¦ä½¿ç¨Djangoæ¡æ¶ï¼éè¦åå³äºé¡¹ç®å¯¹æ°æ®åºäº¤äºçè¦æ±ä»¥ååç§ä¼åï¼è对äºDjangoçåæ¥ç¹æ§å¯¼è´ååéå°çé®é¢ï¼å¯ä»¥éè¿Celeryç解å³ï¼è¿å¹¶ä¸æ¯ä¸ä¸ªè´å½é®é¢ã
2ãTornado
å¼æ¥ï¼æ§è½å¼ºæï¼ç¶èå®ç¸æ¯Djangoæ¡æ¶æ¥è¯´ï¼ç¸å¯¹åå§ï¼å¾å¤ä¸è¥¿éè¦èªå·±å»å¤çï¼éç项ç®çéæ¸æ©å¤§ï¼æ¡æ¶æè½æä¾çåè½ä¹ä¼è¶æ¥è¶å°ï¼æ´å¤çä¸è¥¿éè¦å¢éèªå·±å»å®ç°ï¼è大项ç®å¾å¾éè¦æ§è½çä¿è¯ï¼è¿æ¶å®å°±æ¯æä½³çéæ©ã
3ãFlask
å¾®æ¡æ¶ï¼å¯ä»¥è¯´æ¯Python代ç åå¾æ好ç项ç®ä¹ä¸ï¼å®ççµæ´»æ§ä¹æ¯æåååï¼è½ä½¿ç¨å¥½Flaskæ¡æ¶ï¼å³å¯ä»¥åæPinterestï¼ç¨ä¸å¥½å°±æ¯ç¾é¾ï¼å®æ¯ä¸ä¸ªå¾®æ¡æ¶ï¼ä½ä¹å¯ä»¥åæè§æ¨¡åçFlaskï¼å ä¸å®å¯ä»¥èªç±éæ©èªå·±çæ°æ®åºäº¤äºç»ä»¶ï¼èä¸å ä¸celery+redisçå¼æ¥ç¹æ§ä¹åï¼Flaskçæ§è½ç¸å¯¹Tornadoä¹ä¸ç¸ä¸ä¸ï¼ä¹è®¸Flaskççµæ´»æ§å¯è½æ¯æäºå¢éæ´éè¦çã
4ãTwisted
åé¢æå°ç3个Webæ¡æ¶é½æ¯å´ç»åºç¨å±HTTPå±å¼çï¼èTwistedåä¸åï¼å®æ¯ä¸ä¸ªç¨Pythonè¯è¨ç¼åçäºä»¶é©±å¨çç½ç»æ¡æ¶ï¼å¯¹äºè¿½æ±æå¡å¨æ§è½çåºç¨ï¼å®æ¯ä¸ªé常ä¸éçéæ©ã
å®æ¯æå¾å¤åè®®ï¼å æ¬ä¼ è¾å±çUDPãTCPãTLSï¼ä»¥ååºç¨å±çHTTPãFTPçï¼å¯¹äºè¿äºåè®®ï¼Twistedæä¾äºå®¢æ·ç«¯åæå¡å¨æ¹é¢çå¼åå·¥å ·ã
å®æ¯ä¸ä¸ªé«æ§è½çç¼ç¨æ¡æ¶ï¼å¨ä¸åçæä½ç³»ç»ä¸ï¼Twistedå©ç¨ä¸åçåºå±ææ¯å®ç°äºé«æ§è½éä¿¡ï¼å¨å¼åæ¹æ³ä¸ï¼Twistedå¼å¯¼ç¨åºå使ç¨å¼æ¥ç¼ç¨æ¨¡åï¼å®æä¾äºä¸°å¯çDeferãThreadingçç¹æ§æ¥æ¯æå¼æ¥ç¼ç¨ã
pythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨VueReactlayuiangularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼å项ç®è¦æ±æççè¯ï¼æ¨è2个ç°æçã
æä¾2个ç°æç
drupal
orchardcore
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºvuedjangoåªä¸ªå¥½çç¸å ³å 容解çæ±æ»äºï¼å¸æ对æ¨ææ帮å©ï¼å¦æ解å³äºæ¨çé®é¢æ¬¢è¿å享ç»æ´å¤å ³æ³¨æ¤é®é¢çæååï½
Djangoå端ç¨ä»ä¹è¯è¨ï¼pythondjangoå端ï¼
æ¬ç¯æç« é¦å¸CTOç¬è®°æ¥ç»å¤§å®¶ä»ç»æå ³Djangoå端ç¨ä»ä¹è¯è¨ä»¥åpythondjangoå端çç¸å ³å 容ï¼å¸æ对大家ææ帮å©ï¼ä¸èµ·æ¥ççå§ãæ¬æç®å½ä¸è§ï¼1ãå端å¼åéè¦å¦ä»ä¹2ãpythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨VueReactlayuiangularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼3ãdjangoæ¯å端è¿æ¯å端4ãå端å¼åéè¦å¦ä¹ ä»ä¹è¯è¨æ¯è¾å¥½åï¼5ãå端ç¼ç¨è¯è¨æå ç§ï¼6ãdjangoéæ©ä»ä¹æ¡æ¶åå端UIæ¯è¾å¥½å端å¼åéè¦å¦ä»ä¹å°±è¯´æ们ç®åä¸å½ææè¡ä¸ï¼å¯ä»¥è¯´ä»»ä½ä¸ä¸ªè¡ä¸é½ç¦»ä¸å¼äºèç½ï¼ç°å¨ç人们对äºäºèç½çä¾èµå¾å¤§ï¼äºèç½è¡ä¸å¨ä¸å½æ çæ¯ç°å¨åå±åæ¯æ好ç没æä¹ä¸ã
å端主è¦è¦å¦çå 容主è¦æï¼
â 计ç®æºåºç¡ä»¥åPSåºç¡
â¡å端å¼ååºç¡ï¼HTML5å¼åãJavaScriptåºç¡å°é«çº§ãjQueryç½é¡µç¹æãBootstrapæ¡æ¶ï¼
â¢ç§»å¨å¼å
â£å端é«çº§å¼åï¼ECMAScript6ãVeu.jsæ¡æ¶å¼åãwebpackãå端页é¢ä¼åãReactæ¡æ¶å¼åãAngularJS2.0æ¡æ¶å¼åçï¼
â¤å°ç¨åºå¼å
â¥å ¨æ å¼åï¼MySQLæ°æ®åºãPythonç¼ç¨è¯è¨ãDjangoæ¡æ¶çï¼
â¦å°±ä¸æå±ï¼ç½ç«SEOä¸å端å®å ¨ææ¯ï¼
äºèç½è¡ä¸ç®åè¿æ¯æçé¨çè¡ä¸ä¹ä¸ï¼å¦ä¹ ITæè½ä¹å足å¤ä¼ç§æ¯ææºä¼è¿å ¥è ¾è®¯ãé¿éãç½æçäºèç½å¤§åé«èªå°±ä¸çï¼åå±åæ¯é常好ï¼æ®é人ä¹å¯ä»¥å¦ä¹ ã
æ³è¦ç³»ç»å¦ä¹ ï¼ä½ å¯ä»¥èå¯å¯¹æ¯ä¸ä¸å¼è®¾æç¸å ³ä¸ä¸ççé¨å¦æ ¡ï¼å¥½çå¦æ ¡æ¥ææ ¹æ®å½ä¸ä¼ä¸éæ±èªä¸»ç å课ç¨çè½åï¼å»ºè®®å®å°èå¯å¯¹æ¯ä¸ä¸ã
ç¥ä½ å¦æææï¼æé纳
å大éé¸å¦ç课å å®å½
pythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨VueReactlayuiangularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼å项ç®è¦æ±æççè¯ï¼æ¨è2个ç°æçã
æä¾2个ç°æç
drupal
orchardcore
djangoæ¯å端è¿æ¯å端æ¼ç¤ºæºåï¼å为MateBookXç³»ç»çæ¬ï¼winAPPçæ¬ï¼django3.0djangoæ¯ç¨å¨å端ãDjangoæ¯ä¸ä¸ªåºäºPythonçWebåºç¨æ¡æ¶ãå®ä¸Pythonçå¦å¤ä¸ä¸ªWebæ¡æ¶Flaskæ大çåºå«æ¯ï¼å®å¥è¡âå å«ä¸åâçå²å¦ã该ç念å³ä¸ºå建Webåºç¨æéçéç¨åè½é½åºè¯¥å å«å°æ¡æ¶ä¸ï¼èä¸åºåå¨äºç¬ç«ç软件å ä¸ãä¾å¦èº«ä»½éªè¯ãURLè·¯ç±ã模æ¿ç³»ç»ãå¯¹è±¡å ³ç³»æ å°ï¼ORMï¼åæ°æ®åºè¿ç§»çåè½é½å·²å å«å¨Djangoæ¡æ¶ä¸ãè½ç¶çä¸å»å¤±å»äºä¸äºå¼¹æ§ï¼ä½æ¯å´å¯ä»¥å¨æ建ç½ç«çæ¶åæ´å ææçã
å端å¼åéè¦å¦ä¹ ä»ä¹è¯è¨æ¯è¾å¥½åï¼ç½ç«å¼åå¼å大è´å为å端ï¼å®¢æ·ç«¯ï¼åå端ï¼æå¡å¨ç«¯ï¼ï¼å端主è¦è´è´£å®ç°è§è§å交äºææï¼ä»¥åä¸æå¡å¨éä¿¡ï¼å®æä¸å¡é»è¾ãå®çæ ¸å¿ä»·å¼å¨äºå®ç°ç¨æ·ä½éªï¼å¤§åäºèç½å ¬å¸çç¨æ·ä½éªé¨é¨ï¼ä¸è¬ä¼å æ¬ç¨æ·ç 究ã交äºè®¾è®¡ãå端ææ¯åè§è§è®¾è®¡çæ¹é¢çå 容ãå¦æä½ æ³æ为ä¸ä¸ªä¼ç§çwebå端å¼åå·¥ç¨å¸ï¼å¯ä»¥æ¥è¿ä¸ªè£ï¼åé¢ä¸ä¸ªæ°æ¯4ä¹4ï¼ä¸é´æ¯é¶å 4ï¼æåçä¸ä¸ªæ¯9å4ï¼ä¸ä¸ªæ°è¿èµ·æ¥å°±æ¯äºï¼å¦æä¸æ³å¦ä¹ çå°±ä¸è¦å äºã
webå端å¼åéè¦ææ¡çææ¯ï¼
1.å¦ä¹ html,è¿ä¸ªæ¯æç®åç,ä¹æ¯æåºç¡ç.è¦çç»ææ¡divãformtableãulliãpãspanãfontè¿äºæ ç¾,è¿äºé½æ¯æ常ç¨ç,ç¹å«æ¯divåtable,divç¨äºå¸å±ãtableä¹å¯ä»¥ç¨äºå¸å±,ä½æ¯ä¸çµæ´»,åºæ¬tableæ¯ç¨æ¥åæ°æ®æ交é.
2.å¦ä¹ css,è¿é说çcssä¸å æ¬css3,ä¸è¬æ们çå°webå端å¼åå·¥ç¨å¸çè¦æ±éé¢,æä¸ä¸ªä¼ä½¿ç¨css+htmlæè css+divæ¥è¿è¡çé¢å¸å±,æ以cssæ¯ç¨äºè¾ å©htmlæ¥å¸å±åå±ç¤ºç,æ们称ä¹ä¸ºâcssæ ·å¼â,为ä»ä¹ä¼è¯´css+divå¢?å 为æä¸é¢è¯´äºdivå°±æ¯html主è¦ç¨äºå¸å±çä¸è¥¿,æ以divå°±æ¯æ ¸å¿ææ¡çä¸è¥¿!é£ä¹cssè¯å®å¿ é¡»è¦é ådivæ¥ä½¿ç¨æ好.cssè¦çç»ææ¡floatãpositionãwidthãheightï¼ä»¥å对äºçæ大æå°ãä¼ä½¿ç¨ç¾åç¾ãoverflowãmarginãpaddingçç,è¿äºé½æ¯è·å¸å±æå ³ç³»çæ ·å¼,ä¸ç¹è¦ææ¡.
3.å¦ä¹ js.å¯è½å两个大家è§å¾è¿è¿çå»,çå°jså°±èç¼äº,å ¶å®å§,jså ¥é¨å¾ç®åç,ä¸éè¦ä¼å¾å¤ä¸è¥¿ç,åªè¦ä¼æ ¹æ®æ个idãæè nameæ¿å°ç½é¡µdomæè æ ·å¼ãæè å¼,ç¶åä¼ç»æ个idæè nameçå ç´ æ ç¾èµå¼ãæè 追å æ°æ®ã追html,è¿ä¸ªæ¯è·æ°æ®æå ³ç³»çæä½,ç¶åæ°æ®é»è¾å¤æ,æææ¹é¢ç,æ éå°±æ¯è·³è½¬ãå¼¹æ¡ãéèä»ä¹ç,æè¿äºå ¨é¨ç»åå ¶ä»å°±æ¯å®é ç¨éäº,代ç ä¸ç¹é½ä¸é¾,ä¼äºè¿äºåºç¡js,å ¶ä»çç´æ¥ç¾åº¦å°±å¥½äº.ç¶åçå¤äº,ç¨å¤äº,å°±ä»ä¹é½ä¸æ¯é®é¢äº.
4.å¦ä¹ jquery.jqueryæ¯ç¸å½äºæjså°è£ äºä¸å¥çä¸ä¸ªjsæ件,ç®çå°±æ¯æä½èµ·æ¥æ´æ¹ä¾¿,代ç åçæ´å°,jqueryå ¥é¨ä¹å¾ç®å,é£äºæ¯å ¥é¨éè¦å¦çåjsä¸æ ·,åªæ¯æ¢æäºjqç代ç .å ¶ä»çä¸æ ·ç¾åº¦å°±å¤äº.
5.æ好ä¼ç¹åå°è¯è¨,æ¯å¦javaãphp,为ä»ä¹å¢?å 为æ们åå°çé¢çæ°æ®é½æ¯ä»åå°æ¥ç,å¦æä¼ç¹åå°ä»£ç ,å°±ç¥éæä¹è·åå°äº¤äºæ°æ®æ¯æ好ç,è¿æ ·è约æ¶é´,ä¹å¯ä»¥è®©å端代ç æ´è§è.ä¸ç¶å¯è½å ä¸ºä½ çåæ³åå端ç»æ¥çæ°æ®ä¸è½ç»åä¸,é£ä¹å端代ç åå¾éæ°å,é£å°±æ´èç¼äº.
6.å¦ä¹ css3+html5,为ä»ä¹è¿ä¸ªæ¾æåå¢?åå,å 为æèªå·±ä¹ä¸å¤ªä¼,æ¯ç«æ¯ä¸æä¸æ»å,è½ç¶è¿ä¸ªå¾æµè¡,ä½æ¯ææ¯æå端ç,å¨å·¥ä½ä¸ç¨ä¸å°å®,åªæå¨èªå·±ç½ç«éè¦æ¹æ ·å¼,æè æåç½ç«æ ·å¼åºé®é¢çæ¶å,ææä¼å»ä¸´æ¶å»ç 究ä¸.ä½æ¯å¦æä½ ä»¬æ¯åå¤ä¸é¨æå端,é£ä¹æ好è¿æ¯å¦ä¸ä¸ç.
webå端å¼åéè¦ææ¡çææ¯ï¼
1.å¦ä¹ html,è¿ä¸ªæ¯æç®åç,ä¹æ¯æåºç¡ç.è¦çç»ææ¡divãformtableãulliãpãspanãfontè¿äºæ ç¾,è¿äºé½æ¯æ常ç¨ç,ç¹å«æ¯divåtable,divç¨äºå¸å±ãtableä¹å¯ä»¥ç¨äºå¸å±,ä½æ¯ä¸çµæ´»,åºæ¬tableæ¯ç¨æ¥åæ°æ®æ交é.
2.å¦ä¹ css,è¿é说çcssä¸å æ¬css3,ä¸è¬æ们çå°webå端å¼åå·¥ç¨å¸çè¦æ±éé¢,æä¸ä¸ªä¼ä½¿ç¨css+htmlæè css+divæ¥è¿è¡çé¢å¸å±,æ以cssæ¯ç¨äºè¾ å©htmlæ¥å¸å±åå±ç¤ºç,æ们称ä¹ä¸ºâcssæ ·å¼â,为ä»ä¹ä¼è¯´css+divå¢?å 为æä¸é¢è¯´äºdivå°±æ¯html主è¦ç¨äºå¸å±çä¸è¥¿,æ以divå°±æ¯æ ¸å¿ææ¡çä¸è¥¿!é£ä¹cssè¯å®å¿ é¡»è¦é ådivæ¥ä½¿ç¨æ好.cssè¦çç»ææ¡floatãpositionãwidthãheightï¼ä»¥å对äºçæ大æå°ãä¼ä½¿ç¨ç¾åç¾ãoverflowãmarginãpaddingçç,è¿äºé½æ¯è·å¸å±æå ³ç³»çæ ·å¼,ä¸ç¹è¦ææ¡.
3.å¦ä¹ js.å¯è½å两个大家è§å¾è¿è¿çå»,çå°jså°±èç¼äº,å ¶å®å§,jså ¥é¨å¾ç®åç,ä¸éè¦ä¼å¾å¤ä¸è¥¿ç,åªè¦ä¼æ ¹æ®æ个idãæè nameæ¿å°ç½é¡µdomæè æ ·å¼ãæè å¼,ç¶åä¼ç»æ个idæè nameçå ç´ æ ç¾èµå¼ãæè 追å æ°æ®ã追html,è¿ä¸ªæ¯è·æ°æ®æå ³ç³»çæä½,ç¶åæ°æ®é»è¾å¤æ,æææ¹é¢ç,æ éå°±æ¯è·³è½¬ãå¼¹æ¡ãéèä»ä¹ç,æè¿äºå ¨é¨ç»åå ¶ä»å°±æ¯å®é ç¨éäº,代ç ä¸ç¹é½ä¸é¾,ä¼äºè¿äºåºç¡js,å ¶ä»çç´æ¥ç¾åº¦å°±å¥½äº.ç¶åçå¤äº,ç¨å¤äº,å°±ä»ä¹é½ä¸æ¯é®é¢äº.
4.å¦ä¹ jquery.jqueryæ¯ç¸å½äºæjså°è£ äºä¸å¥çä¸ä¸ªjsæ件,ç®çå°±æ¯æä½èµ·æ¥æ´æ¹ä¾¿,代ç åçæ´å°,jqueryå ¥é¨ä¹å¾ç®å,é£äºæ¯å ¥é¨éè¦å¦çåjsä¸æ ·,åªæ¯æ¢æäºjqç代ç .å ¶ä»çä¸æ ·ç¾åº¦å°±å¤äº.
5.æ好ä¼ç¹åå°è¯è¨,æ¯å¦javaãphp,为ä»ä¹å¢?å 为æ们åå°çé¢çæ°æ®é½æ¯ä»åå°æ¥ç,å¦æä¼ç¹åå°ä»£ç ,å°±ç¥éæä¹è·åå°äº¤äºæ°æ®æ¯æ好ç,è¿æ ·è约æ¶é´,ä¹å¯ä»¥è®©å端代ç æ´è§è.ä¸ç¶å¯è½å ä¸ºä½ çåæ³åå端ç»æ¥çæ°æ®ä¸è½ç»åä¸,é£ä¹å端代ç åå¾éæ°å,é£å°±æ´èç¼äº.
6.å¦ä¹ css3+html5,为ä»ä¹è¿ä¸ªæ¾æåå¢?åå,å 为æèªå·±ä¹ä¸å¤ªä¼,æ¯ç«æ¯ä¸æä¸æ»å,è½ç¶è¿ä¸ªå¾æµè¡,ä½æ¯ææ¯æå端ç,å¨å·¥ä½ä¸ç¨ä¸å°å®,åªæå¨èªå·±ç½ç«éè¦æ¹æ ·å¼,æè æåç½ç«æ ·å¼åºé®é¢çæ¶å,ææä¼å»ä¸´æ¶å»ç 究ä¸.ä½æ¯å¦æä½ ä»¬æ¯åå¤ä¸é¨æå端,é£ä¹æ好è¿æ¯å¦ä¸ä¸ç.
å端ç¼ç¨è¯è¨æå ç§ï¼
1ãhtml:è´è´£å®ä¹é¡µé¢çå 容
2ãcss:è´è´£å®ä¹é¡µé¢çæ ·å¼
3ãjavascript:è´è´£æ§å¶é¡µé¢çè¡ä¸º
以ä¸ä¸ç§ä¸ºå端å¦ä¹ çåºæ¬è¯¾ç¨
1ãjquery:javascriptæ¡æ¶ï¼javascriptå½æ°åºï¼æ大ç®åäºjavascriptã
2ãbootstrap:ä¸ä¸ªç¨äºå¿«éå¼åWebåºç¨ç¨åºåç½ç«çå端æ¡æ¶ã
3ãAngularJS:æ¯ä¸ä¸ª?JavaScriptæ¡æ¶ã
4ãJSON:æ¯åå¨å交æ¢ææ¬ä¿¡æ¯çè¯æ³.
5ãAjax:å¯ä»¥ç¨äºå建快éå¨æçç½é¡µãAJAXæ¯ä¸ç§å¨æ ééæ°å è½½æ´ä¸ªç½é¡µçæ åµä¸ï¼è½å¤æ´æ°é¨åç½é¡µçææ¯ã
6ãAngular2:æ¯ä¸ä¸ªå¼æºçJavaScriptæ¡æ¶
7ãReact:æ¯ä¸ä¸ªç¨äºæ建ç¨æ·çé¢çJAVASCRIPTåºãReact主è¦ç¨äºæ建UI.
8ãLESS:æ¯ä¸ä¸ªCSSé¢å¤çå¨ï¼å¯ä»¥ä¸ºç½ç«å¯ç¨å¯èªå®ä¹ï¼å¯ç®¡çåå¯éç¨çæ ·å¼è¡¨ãæ¯ä¸ç§å¨ææ ·å¼è¡¨è¯è¨ï¼æ©å±äºCSSçåè½
9ãVue.jsï¼æ¯ç¨äºæ建交äºå¼çWebçé¢çåºã
ãNode.jsï¼æ¯è¿è¡å¨æå¡ç«¯çJavaScriptã
以ä¸åç§ï¼æ¯å¨å®é å·¥ä½åºç¨ä¸å¸¸ç¨çï¼æ»ç»çè¿äºå¸æå¯¹ä½ ææ帮å©ã
å¦ä¹ å端å¼åï¼æ¨èå°å京å°å¦å ï¼éåçå¸èµåéåç§å¦çæ课æ¹å¼ï¼ä¼å¸¦ç»ä½ æå®ç¾çå¦ä¹ ä½éªã
djangoéæ©ä»ä¹æ¡æ¶åå端UIæ¯è¾å¥½1ãflex
Apacheåºéä¼ä»å¤©åå¸äºFlex4.8çæ¬ï¼è¿æ¯Adobeå°Flexæç®ç»Apacheåºéä¼ååå¸ç第ä¸ä¸ªçæ¬ã
éè¦æ³¨æçæ¯ï¼Flexç®åè¿å¨åµåé¶æ®µï¼è¿ä¸æ¯Apacheçæ£å¼é¡¹ç®ï¼Flex4.8ä¹ä¸æ¯ä¸ä¸ªæ£å¼çApacheçæ¬ã
Apache称ï¼è¯¥çæ¬æ å¿çFlexæ°æ¶ä»£çå¼å§ï¼Flexçæªæ¥å°ç±ç¤¾åºæ¥é©±å¨ï¼èä¸æ¯ç±ä¸ä¸ªå ¬å¸é©±å¨ãå¼åè å¯ä»¥éè¿è´¡ç®ä»£ç ï¼æ¥å¸®å©æ¹è¿Flexï¼å¦ä¿®å¤bugãå¢å åè½çã
ä»Macromediaåç»Adobeï¼ç¶ååæç»apacheï¼ä¸ç¥éæä»ä¹åå ãä¸è¿è¿å¥½æ²¡æç»è¿å¤§å¹ éæï¼å¦åå°±ççæ¯æ²åäºï¼
2ãextjs
ExtJSæ¯ä¸ç§ä¸»è¦ç¨äºå建å端ç¨æ·çé¢ï¼æ¯ä¸ä¸ªåºæ¬ä¸åå°ææ¯æ å ³çå端ajaxæ¡æ¶ã
åè½ä¸°å¯ï¼æ 人è½åºå ¶å³ã
æ 论æ¯çé¢ä¹ç¾ï¼è¿æ¯åè½ä¹å¼ºï¼extçè¡¨æ ¼æ§ä»¶é½é«å± æ¦é¦ã
å丽ççé¢ï¼çµæ´»çåè½ï¼è¿æå¼åå·¥å ·é½æ¯é å¥çï¼ä½æ个æ大çé®é¢ï¼ç¨å°±å¾è±é±ï¼
3ãeasyui
easyui帮å©ä½ æå»ºä½ çwebåºç¨æ´å 容æã
å®æ¯ä¸ä¸ªåºäºjqueryçæ件ï¼å¼ååºæ¥çä¸å¥è½»é级çuiæ¡æ¶ï¼é常å°å·§èä¸åè½ä¸°å¯ã
å®æ¹ç½ç«æ¯ï¼
ä½æ¯å¥¹æä¸ä¸ªæ大çé®é¢å°±æ¯ä»£ç åªè½æ¾å°ä»¥åçå¼æºççæ¬ï¼å°äº1.2以åççæ¬æºä»£ç é½æ¯ç»è¿æ··æ·çï¼å¦æéå°é®é¢ä¿®æ¹èµ·æ¥ä¼é常麻ç¦ï¼ä¸è¿ä¸ä¸ªæ¯è¾å¤§çä¼å¿æ¯å¼æºå è´¹ï¼å¹¶ä¸çé¢åçè¿è¯´çè¿å»ï¼
4ãMiniUI
åä¸ä¸ªåºäºjqueryçæ¡æ¶ï¼å¼åççé¢åè½é½å¾ä¸°å¯ã
jQueryMiniUI-å¿«éå¼åWebUIã
å®è½ç¼©çå¼åæ¶é´ï¼åå°ä»£ç éï¼ä½¿å¼åè æ´ä¸æ³¨äºä¸å¡åæå¡ç«¯ï¼è½»æ¾å®ç°çé¢å¼åï¼å¸¦æ¥ç»ä½³çç¨æ·ä½éªã
使ç¨MiniUIï¼å¼åè å¯ä»¥å¿«éå建Ajaxæ å·æ°ãB/Så¿«éå½å ¥æ°æ®ãCRUDãMaster-Detailãèåå·¥å ·æ ãå¼¹åºé¢æ¿ãå¸å±å¯¼èªãæ°æ®éªè¯ãåé¡µè¡¨æ ¼ãæ ãæ å½¢è¡¨æ ¼çå ¸åWEBåºç¨ç³»ç»çé¢ã
çé¢åçæºä¸éï¼åè½ä¹æºä¸°å¯ï¼ä½æ¯æ两个æ¯è¾å¤§çé®é¢ï¼ä¸ä¸ªæ¯æ¶è´¹ï¼ä¸ä¸ªæ¯æ²¡ææºç ï¼è¯´ç½äºï¼ä¸å¼æºï¼åºäºè¿ä¸ªå¼åå¦ææ³å¯¹åè½åæ©å±å°±éè¦æ¾ä»ä»¬çå¢éè¿è¡å级ï¼
5ãjQueryUI
jQueryUIæ¯ä¸å¥jQueryç页é¢UIæ件ï¼å å«å¾å¤ç§å¸¸ç¨ç页é¢ç©ºé´ï¼ä¾å¦Tabsï¼å¦æ¬ç«é¦é¡µå³ä¸è§é¨åï¼ãæå¸ææï¼æ¬ç«é¦é¡µå·¦ä¸è§ï¼ã对è¯æ¡ãææ¾ææãæ¥æéæ©ãé¢è²éæ©ãæ°æ®æåºãçªä½å¤§å°è°æ´ççé常å¤çå 容ã
åè½éå¸¸å ¨é¢ï¼çé¢ä¹æºæ¼äº®çï¼å¯ä»¥æ´ä½ä½¿ç¨ï¼ä¹å¯ä»¥åå¼ä½¿ç¨å ¶ä¸çå 个模åï¼å è´¹å¼æºï¼
6ãDWZ
DWZå¯å®¢æ·ç«¯æ¡æ¶(jQueryRIAframework),æ¯ä¸å½äººèªå·±å¼åçåºäºjQueryå®ç°çAjaxRIAå¼æºæ¡æ¶.
设计ç®æ æ¯ç®åå®ç¨,å¿«éå¼å,éä½ajaxå¼åææ¬ã
欢è¿å¤§å®¶æåºå»ºè®®ï¼æ们å°å¨ä¸ä¸çæ¬ä¸è¿ä¸æ¥è°æ´åå®ååè½ï¼å ±åæ¨è¿å½å æ´ä½ajaxå¼åæ°´å¹³ã
æ¯ç«æ¯å½äº§çï¼æ¯æä¸ä¸ï¼èä¸æºç å®å ¨å ¬å¼ï¼å¯ä»¥éæ©ä¸ä¸ï¼ä¸è¿æ§è½æä¹æ ·ä¸æ¢ç¡®å®ï¼
7ãGWT
Googleç½é¡µå·¥å ·å ââGWTæä¾äºä¸ç»åºäºJavaè¯è¨çå¼åå ï¼è¿ä¸ªå¼åå ç设计åèJavaAWTå 设计ï¼ç±»å½åè§åãæ¥å£è®¾è®¡ãäºä»¶çå¬çé½åAWTé常类似ãçæJavaAWTçå¼åè ä¸éè¦è±è´¹å¤å¤§çåæ°å°±è½å¤å¿«éçç解GWTå¼åå·¥å ·å ï¼å°æ´å¤å°æ¶é´æå ¥å°GWTåºç¨çå¼åè¿ç¨ä¸ã
ä½ ä¸ç¨å»äºè§£è¿æ ·é£æ ·çjavascriptæ¡æ¶ï¼éè¿javaä½ å°±å¯ä»¥ååºåè½ä¸°å¯ççé¢ï¼å¯ä»¥ååå æµè¯ï¼æ¯ç«æ¯googleç产åï¼ä¸¥éæ¯æä¸ä¸ï¼
8ãYUI
Yahoo!UILibrary(YUI)æ¯ä¸ä¸ªå¼æ¾æºä»£ç çJavaScriptå½æ°åºï¼ä¸ºäºè½å»ºç«ä¸ä¸ªé«äºå¨çç½é¡µï¼å®éç¨äºAJAX,DHTMLåDOMçç¨å¼ç ææ¯ãå®ä¹å å«äºè®¸å¤CSSèµæºã使ç¨ææ为BSD许å¯è¯ï¼åºæ¬ä¸æ²¡æä¹ç 究è¿ï¼
YUICompressoråæ¯æºåºåçï¼è¿å¥UIåºä¸ç¥éåºç¨çæ åµæä¹æ ·ï¼
9ãSencha
Senchaæ¯ç±ExtJSãjQTouch以åRaphaelä¸ä¸ªé¡¹ç®å并èæçä¸ä¸ªæ°é¡¹ç®ã
å¤§å ¬å¸çæ¡æ¶ï¼å¹¶ä¸æ¯å æ ·åºç强强èåï¼å¼å¾æ¨èï¼
ãDojo
å¨å½å åºç¨å¥½åä¸æ¯å¾å¹¿ï¼ä¸è¿æ§è½ä¸åºè¯¥æ²¡é®é¢ã
Dojoæ¯ä¸ä¸ªç¨javascriptè¯è¨å®ç°çå¼æºDHTMLå·¥å ·å ã
æå¤ä¸ªåºéä¼çæ¯æï¼å æ¬IBMåSUNï¼é½æ¯è½¯ä»¶ççæ³°æï¼å¼å¾ä¿¡èµï¼
ãZK
ZKæ¯ä¸å¥ä»¥AJAX/XUL/Java为åºç¡çç½é¡µåºç¨ç¨å¼å¼åæ¡æ¶ï¼ç¨äºä¸°å¯ç½é¡µåºç¨ç¨å¼ç使ç¨æ¥å£ãæ大ç好å¤æ¯ï¼å¨è®¾è®¡AJAXç½ç»åºç¨ç¨å¼æ¶ï¼è½»æ¾ç®ä¾¿çæä½å°±å设计æ¡é¢ç¨å¼ä¸æ ·ãZKå å«äºä¸ä¸ªä»¥AJAX为åºç¡ãäºä»¶é©±å¨ï¼event-drivenï¼ãé«äºå¨æ§çå¼æï¼åæ¶è¿æä¾äºå¤æ ·ä¸°å¯ãå¯éå¤ä½¿ç¨çXULä¸HTMLç»ä»¶ï¼ä»¥å以XML为åºç¡ç使ç¨æ¥å£è®¾è®¡è¯è¨ZKUser-interfacesMarkupLanguage(ZUML)ã
å¨çº¿çdemo
设计å¨çdemo
æ¥åç»ä»¶
åè½ä¸°å¯ï¼å ¨é¢ï¼ææ¡£é½å ¨ï¼èä¸å级äºå¾å¤æ¬¡ï¼é常å¼å¾æ¨èï¼
ãOperaMasks-UI
OperaMasks-UIæ¯OperaMaskså¢éä¸åå¹´æé çä¸æ¬¾è½»é级å端JSç»ä»¶åºï¼æ¨å¨æä¾ä¸æ¬¾å¦ä¹ æ²çº¿ä½ãå®å¶æ§çµæ´»ãæ ·å¼ç»ä¸ï¼ä¸å¤æµè§å¨æ¯æãè¦çä¼ä¸ä¸å¡åºæ¯çå端JavaScriptUIç»ä»¶åºãç®åï¼è¯¥å¢éå·²å°è¿ä¸äº§å以LGPLå¼æºåè®®å¼æ¾ç»ç¤¾åºã
æ档丰å¯ï¼åè½é½å ¨ï¼èä¸å¾å®¹æ使ç¨åå¼åï¼èä¸æ¯å½äº§çåï¼
ãJavaFX
Sunå ¬å¸(å·²äºå¹´è¢«Oracleå ¬å¸æ¶è´)å¨å¹´ææ¥åå¸äºJavaFXææ¯çæ£å¼ç,å®ä½¿æ¨è½å©ç¨JavaFXç¼ç¨è¯è¨å¼åå¯äºèç½åºç¨ç¨åº(RIA)ãJavaFXScriptç¼ç¨è¯è¨ï¼ä»¥ä¸ç§°ä¸ºJavaFXï¼æ¯Sun微系ç»å ¬å¸å¼åçä¸ç§declarative,staticallytyped(声ææ§çãéæç±»å)èæ¬è¯è¨ãJavaFXææ¯æçè¯å¥½çåæ¯ï¼å æ¬å¯ä»¥ç´æ¥è°ç¨JavaAPIçè½åãå 为JavaFXScriptæ¯éæç±»åï¼å®åæ ·å ·æç»æå代ç ãéç¨æ§åå°è£ æ§ï¼å¦å ãç±»ã继æ¿ååç¬ç¼è¯ååå¸åå ï¼è¿äºç¹æ§ä½¿å¾ä½¿ç¨Javaææ¯å建å管ç大åç¨åºå为å¯è½ã
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºDjangoå端ç¨ä»ä¹è¯è¨çå ¨é¨å 容äºï¼æè°¢æ¨è±æ¶é´é 读æ¬ç«å 容ï¼å¸æ对æ¨ææ帮å©ï¼æ´å¤å ³äºpythondjangoå端ãDjangoå端ç¨ä»ä¹è¯è¨çç¸å ³å 容å«å¿äºå¨æ¬ç«è¿è¡æ¥æ¾åã
.netcore有哪些不错的开源项目?
以下为推荐的几个.NET Core开源项目: 1. Masuit.Tools这是一个包含了加密解密、反射操作、硬件信息、日期时间扩展等常用封装的开源项目。其开源协议规定,一旦因违反劳动法的犀浦源码头火锅 侯酉生公司使用该项目,项目作者有权追讨使用费或不允许使用包含该项目的源代码。项目特色功能包括Socket客户端操作类、模板引擎、任意进制转换、DateTime扩展及反射操作。
2. OrchardCore
OrchardCore 是沂源码头熏鸡使用 ASP.NET Core 构建的开源模块化、多租户应用程序框架,同时也是内容管理系统(CMS)的基础。它有两个项目,其中一个是 Fur,适用于.NET 5 平台的入门级、快速开发的 Web 应用框架。强调“六极”设计思想,易于入门、极速开发、极少依赖、极少配置、溯源码的印制极其灵活、易于维护。此外,它结合了敏捷开发模式,用户能在冲一杯咖啡的时间内完成工作。Fur框架的特色功能包括支持.NET 5的新功能、六级架构设计和敏捷开发模式等。3. awesome-dotnet-core
这个集合包含了.NET Core开源项目的库、工具、框架、模板引擎、强力启动指标源码身份认证、数据库、ORM框架、处理、文本处理、机器学习、日志、代码分析、教程等资源。4. ZKEACMS
ZKEACMS 是一个基于ASP .Net Core开发的免费内容管理系统,提供了可视化编辑设计,标标公式源码支持直接在预览页面设计网页,以拼图方式构建网站。它采用跨平台设计,适用于Windows、MAC OS、Linux、Docker等环境。5. YiShaAdmin
YiShaAdmin 是一个基于.NET Core Web开发的快速开发平台,提供了代码生成器,能够减少%以上的编码工作量,提高开发效率,节省项目研发成本和开发周期。它使用了Bootstrap、ASP.NET Core、Entity Framework Core等技术。6. .NET Core源码
这是C#开源项目中的推荐,包含.NET Core源代码。7. Util应用框架
Util是一个.NET Core平台下的应用框架,旨在提升小型团队的开发输出能力。它由常用公共操作类、分层架构基类、UI组件、第三方组件封装、第三方业务接口封装、代码生成模板、权限等功能组成。8. OSharp
OSharp 是一个基于.NETStandard2.x的快速开发框架,使用了最新的.NETCore SDK,对 AspNetCore 进行了更高级的封装,并提供了一套规范的业务实现代码结构与操作流程,易于实际项目开发。9. XBlog
这是个人博客系统,提供了技术要点和功能。. FreeSql
FreeSql 是一个强大的对象关系映射技术(O/RM),支持.NETCore 2.1+或.NETFramework 4.0+或Xamarin等平台。. Autofac
经典的依赖注入(DI)框架,适用于Microsoft .NET,管理类之间的依赖关系,使应用程序在大小和复杂性增长时易于更改。. OpenAuth.Core
一个快速应用开发框架和权限管理工作流系统,基于经典领域驱动设计,提供组织机构、角色用户、权限授权、表单设计、工作流等功能。. Abp.VNext.Hello
这是ABP框架的示例项目,具备分层和模块化结构,包含授权、验证、异常处理、日志、数据库连接管理、设置管理、审计日志等特性。以上项目涵盖了从基础工具到高级框架的多个类别,适合不同开发者需求。
Djangoå端ç¨ä»ä¹è¯è¨ï¼python djangoå端ï¼
æ¬ç¯æç« é¦å¸CTOç¬è®°æ¥ç»å¤§å®¶ä»ç»æå ³Djangoå端ç¨ä»ä¹è¯è¨ä»¥åpython djangoå端çç¸å ³å 容ï¼å¸æ对大家ææ帮å©ï¼ä¸èµ·æ¥ççå§ãæ¬æç®å½ä¸è§ï¼
1ãå端å¼åéè¦å¦ä»ä¹2ãpythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨Vue React layui angularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼3ãdjangoæ¯å端è¿æ¯å端4ãå端å¼åéè¦å¦ä¹ ä»ä¹è¯è¨æ¯è¾å¥½åï¼5ãå端ç¼ç¨è¯è¨æå ç§ï¼6ãdjangoéæ©ä»ä¹æ¡æ¶åå端UIæ¯è¾å¥½å端å¼åéè¦å¦ä»ä¹å°±è¯´æ们ç®åä¸å½ææè¡ä¸ï¼å¯ä»¥è¯´ä»»ä½ä¸ä¸ªè¡ä¸é½ç¦»ä¸å¼äºèç½ï¼ç°å¨ç人们对äºäºèç½çä¾èµå¾å¤§ï¼äºèç½è¡ä¸å¨ä¸å½æ çæ¯ç°å¨åå±åæ¯æ好ç没æä¹ä¸ã
å端主è¦è¦å¦çå 容主è¦æï¼
â 计ç®æºåºç¡ä»¥åPSåºç¡
â¡å端å¼ååºç¡ï¼HTML5å¼åãJavaScriptåºç¡å°é«çº§ãjQueryç½é¡µç¹æãBootstrapæ¡æ¶ï¼
â¢ç§»å¨å¼å
â£å端é«çº§å¼åï¼ECMAScript6ãVeu.jsæ¡æ¶å¼åãwebpackãå端页é¢ä¼åãReactæ¡æ¶å¼åãAngularJS 2.0æ¡æ¶å¼åçï¼
â¤å°ç¨åºå¼å
â¥å ¨æ å¼åï¼MySQLæ°æ®åºãPythonç¼ç¨è¯è¨ãDjangoæ¡æ¶çï¼
â¦å°±ä¸æå±ï¼ç½ç«SEOä¸å端å®å ¨ææ¯ï¼
äºèç½è¡ä¸ç®åè¿æ¯æçé¨çè¡ä¸ä¹ä¸ï¼å¦ä¹ ITæè½ä¹å足å¤ä¼ç§æ¯ææºä¼è¿å ¥è ¾è®¯ãé¿éãç½æçäºèç½å¤§åé«èªå°±ä¸çï¼åå±åæ¯é常好ï¼æ®é人ä¹å¯ä»¥å¦ä¹ ã
æ³è¦ç³»ç»å¦ä¹ ï¼ä½ å¯ä»¥èå¯å¯¹æ¯ä¸ä¸å¼è®¾æç¸å ³ä¸ä¸ççé¨å¦æ ¡ï¼å¥½çå¦æ ¡æ¥ææ ¹æ®å½ä¸ä¼ä¸éæ±èªä¸»ç å课ç¨çè½åï¼å»ºè®®å®å°èå¯å¯¹æ¯ä¸ä¸ã
ç¥ä½ å¦æææï¼æé纳
å大éé¸å¦ç课å å®å½
pythonè¯è¨djangoæ¡æ¶ååå°ï¼å端ç¨Vue React layui angularï¼åªä¸ä¸ªæ¯ç«å¥½ï¼å项ç®è¦æ±æççè¯ï¼æ¨è2个ç°æçã
æä¾2个ç°æç
drupal
orchardcore
djangoæ¯å端è¿æ¯å端æ¼ç¤ºæºåï¼å为MateBookXç³»ç»çæ¬ï¼winAPPçæ¬ï¼django3.0djangoæ¯ç¨å¨å端ãDjangoæ¯ä¸ä¸ªåºäºPythonçWebåºç¨æ¡æ¶ãå®ä¸Pythonçå¦å¤ä¸ä¸ªWebæ¡æ¶Flaskæ大çåºå«æ¯ï¼å®å¥è¡âå å«ä¸åâçå²å¦ã该ç念å³ä¸ºå建Webåºç¨æéçéç¨åè½é½åºè¯¥å å«å°æ¡æ¶ä¸ï¼èä¸åºåå¨äºç¬ç«ç软件å ä¸ãä¾å¦èº«ä»½éªè¯ãURLè·¯ç±ã模æ¿ç³»ç»ãå¯¹è±¡å ³ç³»æ å°ï¼ORMï¼åæ°æ®åºè¿ç§»çåè½é½å·²å å«å¨Djangoæ¡æ¶ä¸ãè½ç¶çä¸å»å¤±å»äºä¸äºå¼¹æ§ï¼ä½æ¯å´å¯ä»¥å¨æ建ç½ç«çæ¶åæ´å ææçã
å端å¼åéè¦å¦ä¹ ä»ä¹è¯è¨æ¯è¾å¥½åï¼ç½ç«å¼åå¼å大è´å为å端ï¼å®¢æ·ç«¯ï¼åå端ï¼æå¡å¨ç«¯ï¼ï¼å端主è¦è´è´£å®ç°è§è§å交äºææï¼ä»¥åä¸æå¡å¨éä¿¡ï¼å®æä¸å¡é»è¾ãå®çæ ¸å¿ä»·å¼å¨äºå®ç°ç¨æ·ä½éªï¼å¤§åäºèç½å ¬å¸çç¨æ·ä½éªé¨é¨ï¼ä¸è¬ä¼å æ¬ç¨æ·ç 究ã交äºè®¾è®¡ãå端ææ¯åè§è§è®¾è®¡çæ¹é¢çå 容ãå¦æä½ æ³æ为ä¸ä¸ªä¼ç§çwebå端å¼åå·¥ç¨å¸ï¼å¯ä»¥æ¥è¿ä¸ªè£ï¼åé¢ä¸ä¸ªæ°æ¯4 ä¹ 4ï¼ä¸é´æ¯é¶ å 4ï¼æåçä¸ä¸ªæ¯9 å 4ï¼ä¸ä¸ªæ°è¿èµ·æ¥å°±æ¯äºï¼å¦æä¸æ³å¦ä¹ çå°±ä¸è¦å äºã
webå端å¼åéè¦ææ¡çææ¯ï¼
1.å¦ä¹ html,è¿ä¸ªæ¯æç®åç,ä¹æ¯æåºç¡ç.è¦çç»ææ¡divãform tableãul li ãpãspanãfontè¿äºæ ç¾,è¿äºé½æ¯æ常ç¨ç,ç¹å«æ¯divåtable,divç¨äºå¸å±ãtableä¹å¯ä»¥ç¨äºå¸å±,ä½æ¯ä¸çµæ´»,åºæ¬ tableæ¯ç¨æ¥åæ°æ®æ交é.
2.å¦ä¹ css,è¿é说çcssä¸å æ¬css3,ä¸è¬æ们çå°webå端å¼åå·¥ç¨å¸çè¦æ±éé¢,æä¸ä¸ªä¼ä½¿ç¨css+html æè css+div æ¥è¿è¡çé¢å¸å±,æ以cssæ¯ç¨äºè¾ å©htmlæ¥å¸å±åå±ç¤ºç,æ们称ä¹ä¸ºâcssæ ·å¼â,为ä»ä¹ä¼è¯´css+divå¢?å 为æä¸é¢è¯´äºdivå°±æ¯ html主è¦ç¨äºå¸å±çä¸è¥¿,æ以divå°±æ¯æ ¸å¿ææ¡çä¸è¥¿!é£ä¹cssè¯å®å¿ é¡»è¦é ådivæ¥ä½¿ç¨æ好.cssè¦çç»ææ¡floatãpositionãwidthãheightï¼ä»¥å对äºçæ大æå°ãä¼ä½¿ç¨ç¾åç¾ãoverflowãmarginãpaddingçç,è¿äºé½æ¯è·å¸å±æå ³ç³»çæ ·å¼,ä¸ç¹è¦ææ¡.
3.å¦ä¹ js. å¯è½å两个大家è§å¾è¿è¿çå»,çå°jså°±èç¼äº,å ¶å®å§,jså ¥é¨å¾ç®åç,ä¸éè¦ä¼å¾å¤ä¸è¥¿ç,åªè¦ä¼æ ¹æ®æ个idãæè nameæ¿å°ç½é¡µdomæè æ ·å¼ãæè å¼,ç¶åä¼ç»æ个idæè nameçå ç´ æ ç¾èµå¼ãæè 追å æ°æ®ã追html,è¿ä¸ªæ¯è·æ°æ®æå ³ç³»çæä½,ç¶åæ°æ®é»è¾å¤æ,æææ¹é¢ç,æ éå°±æ¯è·³è½¬ãå¼¹æ¡ãéèä»ä¹ç,æè¿äºå ¨é¨ç»åå ¶ä»å°±æ¯å®é ç¨éäº,代ç ä¸ç¹é½ä¸é¾,ä¼äºè¿äºåºç¡js,å ¶ä»çç´æ¥ç¾åº¦å°±å¥½äº.ç¶åçå¤äº,ç¨å¤äº,å°±ä»ä¹é½ä¸æ¯é®é¢äº.
4.å¦ä¹ jquery.jqueryæ¯ç¸å½äºæjså°è£ äºä¸å¥çä¸ä¸ªjsæ件,ç®çå°±æ¯æä½èµ·æ¥æ´æ¹ä¾¿,代ç åçæ´å°,jqueryå ¥é¨ä¹å¾ç®å,é£äºæ¯å ¥é¨éè¦å¦çåjsä¸æ ·,åªæ¯æ¢æäºjqç代ç .å ¶ä»çä¸æ ·ç¾åº¦å°±å¤äº.
5.æ好ä¼ç¹åå°è¯è¨,æ¯å¦javaãphp,为ä»ä¹å¢?å 为æ们åå°çé¢çæ°æ®é½æ¯ä»åå°æ¥ç,å¦æä¼ç¹åå°ä»£ç ,å°±ç¥éæä¹è·åå°äº¤äºæ°æ®æ¯æ好ç, è¿æ ·è约æ¶é´,ä¹å¯ä»¥è®©å端代ç æ´è§è.ä¸ç¶å¯è½å ä¸ºä½ çåæ³åå端ç»æ¥çæ°æ®ä¸è½ç»åä¸,é£ä¹å端代ç åå¾éæ°å,é£å°±æ´èç¼äº.
6.å¦ä¹ css3+html5,为ä»ä¹è¿ä¸ªæ¾æåå¢?åå,å 为æèªå·±ä¹ä¸å¤ªä¼,æ¯ç«æ¯ä¸æä¸æ»å,è½ç¶è¿ä¸ªå¾æµè¡,ä½æ¯ææ¯æå端ç,å¨å·¥ä½ä¸ç¨ä¸å°å®,åªæå¨èªå·±ç½ç«éè¦æ¹æ ·å¼,æè æåç½ç«æ ·å¼åºé®é¢çæ¶å,ææä¼å»ä¸´æ¶å»ç 究ä¸.ä½æ¯å¦æä½ ä»¬æ¯åå¤ä¸é¨æå端,é£ä¹æ好è¿æ¯å¦ä¸ä¸ç.
webå端å¼åéè¦ææ¡çææ¯ï¼
1.å¦ä¹ html,è¿ä¸ªæ¯æç®åç,ä¹æ¯æåºç¡ç.è¦çç»ææ¡divãform tableãul li ãpãspanãfontè¿äºæ ç¾,è¿äºé½æ¯æ常ç¨ç,ç¹å«æ¯divåtable,divç¨äºå¸å±ãtableä¹å¯ä»¥ç¨äºå¸å±,ä½æ¯ä¸çµæ´»,åºæ¬ tableæ¯ç¨æ¥åæ°æ®æ交é.
2.å¦ä¹ css,è¿é说çcssä¸å æ¬css3,ä¸è¬æ们çå°webå端å¼åå·¥ç¨å¸çè¦æ±éé¢,æä¸ä¸ªä¼ä½¿ç¨css+html æè css+div æ¥è¿è¡çé¢å¸å±,æ以cssæ¯ç¨äºè¾ å©htmlæ¥å¸å±åå±ç¤ºç,æ们称ä¹ä¸ºâcssæ ·å¼â,为ä»ä¹ä¼è¯´css+divå¢?å 为æä¸é¢è¯´äºdivå°±æ¯ html主è¦ç¨äºå¸å±çä¸è¥¿,æ以divå°±æ¯æ ¸å¿ææ¡çä¸è¥¿!é£ä¹cssè¯å®å¿ é¡»è¦é ådivæ¥ä½¿ç¨æ好.cssè¦çç»ææ¡floatãpositionãwidthãheightï¼ä»¥å对äºçæ大æå°ãä¼ä½¿ç¨ç¾åç¾ãoverflowãmarginãpaddingçç,è¿äºé½æ¯è·å¸å±æå ³ç³»çæ ·å¼,ä¸ç¹è¦ææ¡.
3.å¦ä¹ js. å¯è½å两个大家è§å¾è¿è¿çå»,çå°jså°±èç¼äº,å ¶å®å§,jså ¥é¨å¾ç®åç,ä¸éè¦ä¼å¾å¤ä¸è¥¿ç,åªè¦ä¼æ ¹æ®æ个idãæè nameæ¿å°ç½é¡µdomæè æ ·å¼ãæè å¼,ç¶åä¼ç»æ个idæè nameçå ç´ æ ç¾èµå¼ãæè 追å æ°æ®ã追html,è¿ä¸ªæ¯è·æ°æ®æå ³ç³»çæä½,ç¶åæ°æ®é»è¾å¤æ,æææ¹é¢ç,æ éå°±æ¯è·³è½¬ãå¼¹æ¡ãéèä»ä¹ç,æè¿äºå ¨é¨ç»åå ¶ä»å°±æ¯å®é ç¨éäº,代ç ä¸ç¹é½ä¸é¾,ä¼äºè¿äºåºç¡js,å ¶ä»çç´æ¥ç¾åº¦å°±å¥½äº.ç¶åçå¤äº,ç¨å¤äº,å°±ä»ä¹é½ä¸æ¯é®é¢äº.
4.å¦ä¹ jquery.jqueryæ¯ç¸å½äºæjså°è£ äºä¸å¥çä¸ä¸ªjsæ件,ç®çå°±æ¯æä½èµ·æ¥æ´æ¹ä¾¿,代ç åçæ´å°,jqueryå ¥é¨ä¹å¾ç®å,é£äºæ¯å ¥é¨éè¦å¦çåjsä¸æ ·,åªæ¯æ¢æäºjqç代ç .å ¶ä»çä¸æ ·ç¾åº¦å°±å¤äº.
5.æ好ä¼ç¹åå°è¯è¨,æ¯å¦javaãphp,为ä»ä¹å¢?å 为æ们åå°çé¢çæ°æ®é½æ¯ä»åå°æ¥ç,å¦æä¼ç¹åå°ä»£ç ,å°±ç¥éæä¹è·åå°äº¤äºæ°æ®æ¯æ好ç, è¿æ ·è约æ¶é´,ä¹å¯ä»¥è®©å端代ç æ´è§è.ä¸ç¶å¯è½å ä¸ºä½ çåæ³åå端ç»æ¥çæ°æ®ä¸è½ç»åä¸,é£ä¹å端代ç åå¾éæ°å,é£å°±æ´èç¼äº.
6.å¦ä¹ css3+html5,为ä»ä¹è¿ä¸ªæ¾æåå¢?åå,å 为æèªå·±ä¹ä¸å¤ªä¼,æ¯ç«æ¯ä¸æä¸æ»å,è½ç¶è¿ä¸ªå¾æµè¡,ä½æ¯ææ¯æå端ç,å¨å·¥ä½ä¸ç¨ä¸å°å®,åªæå¨èªå·±ç½ç«éè¦æ¹æ ·å¼,æè æåç½ç«æ ·å¼åºé®é¢çæ¶å,ææä¼å»ä¸´æ¶å»ç 究ä¸.ä½æ¯å¦æä½ ä»¬æ¯åå¤ä¸é¨æå端,é£ä¹æ好è¿æ¯å¦ä¸ä¸ç.
å端ç¼ç¨è¯è¨æå ç§ï¼
1ãhtml:è´è´£å®ä¹é¡µé¢çå 容
2ãcss:è´è´£å®ä¹é¡µé¢çæ ·å¼
3ãjavascript:è´è´£æ§å¶é¡µé¢çè¡ä¸º
以ä¸ä¸ç§ä¸ºå端å¦ä¹ çåºæ¬è¯¾ç¨
1ãjquery:javascriptæ¡æ¶ï¼javascriptå½æ°åºï¼æ大ç®åäºjavascriptã
2ãbootstrap:ä¸ä¸ªç¨äºå¿«éå¼å Web åºç¨ç¨åºåç½ç«çå端æ¡æ¶ã
3ãAngularJS: æ¯ä¸ä¸ª?JavaScript æ¡æ¶ã
4ãJSON: æ¯åå¨å交æ¢ææ¬ä¿¡æ¯çè¯æ³.
5ãAjax: å¯ä»¥ç¨äºå建快éå¨æçç½é¡µãAJAX æ¯ä¸ç§å¨æ ééæ°å è½½æ´ä¸ªç½é¡µçæ åµä¸ï¼è½å¤æ´æ°é¨åç½é¡µçææ¯ã
6ãAngular 2:æ¯ä¸ä¸ªå¼æºçJavaScriptæ¡æ¶
7ãReact: æ¯ä¸ä¸ªç¨äºæ建ç¨æ·çé¢ç JAVASCRIPT åºãReact主è¦ç¨äºæ建UI .
8ãLESS:æ¯ä¸ä¸ªCSSé¢å¤çå¨ï¼å¯ä»¥ä¸ºç½ç«å¯ç¨å¯èªå®ä¹ï¼å¯ç®¡çåå¯éç¨çæ ·å¼è¡¨ãæ¯ä¸ç§å¨ææ ·å¼è¡¨è¯è¨ï¼æ©å±äºCSSçåè½
9ãVue.js ï¼æ¯ç¨äºæ建交äºå¼ç Web çé¢çåºã
ãNode.js ï¼æ¯è¿è¡å¨æå¡ç«¯ç JavaScriptã
以ä¸åç§ï¼æ¯å¨å®é å·¥ä½åºç¨ä¸å¸¸ç¨çï¼æ»ç»çè¿äºå¸æå¯¹ä½ ææ帮å©ã
å¦ä¹ å端å¼åï¼æ¨èå°å京å°å¦å ï¼éåçå¸èµåéåç§å¦çæ课æ¹å¼ï¼ä¼å¸¦ç»ä½ æå®ç¾çå¦ä¹ ä½éªã
djangoéæ©ä»ä¹æ¡æ¶åå端UIæ¯è¾å¥½1ãflex
Apacheåºéä¼ä»å¤©åå¸äºFlex 4.8çæ¬ï¼è¿æ¯Adobeå°Flexæç®ç»Apacheåºéä¼ååå¸ç第ä¸ä¸ªçæ¬ã
éè¦æ³¨æçæ¯ï¼Flexç®åè¿å¨åµåé¶æ®µï¼è¿ä¸æ¯Apacheçæ£å¼é¡¹ç®ï¼Flex 4.8ä¹ä¸æ¯ä¸ä¸ªæ£å¼çApacheçæ¬ã
Apache称ï¼è¯¥çæ¬æ å¿çFlexæ°æ¶ä»£çå¼å§ï¼Flexçæªæ¥å°ç±ç¤¾åºæ¥é©±å¨ï¼èä¸æ¯ç±ä¸ä¸ªå ¬å¸é©±å¨ãå¼åè å¯ä»¥éè¿è´¡ç®ä»£ç ï¼æ¥å¸®å©æ¹è¿Flexï¼å¦ä¿®å¤bugãå¢å åè½çã
ä»Macromediaåç»Adobeï¼ç¶ååæç»apacheï¼ä¸ç¥éæä»ä¹åå ãä¸è¿è¿å¥½æ²¡æç»è¿å¤§å¹ éæï¼å¦åå°±ççæ¯æ²åäºï¼
2ãextjs
ExtJSæ¯ä¸ç§ä¸»è¦ç¨äºå建å端ç¨æ·çé¢ï¼æ¯ä¸ä¸ªåºæ¬ä¸åå°ææ¯æ å ³çå端ajaxæ¡æ¶ã
åè½ä¸°å¯ï¼æ 人è½åºå ¶å³ã
æ 论æ¯çé¢ä¹ç¾ï¼è¿æ¯åè½ä¹å¼ºï¼extçè¡¨æ ¼æ§ä»¶é½é«å± æ¦é¦ã
å丽ççé¢ï¼çµæ´»çåè½ï¼è¿æå¼åå·¥å ·é½æ¯é å¥çï¼ä½æ个æ大çé®é¢ï¼ç¨å°±å¾è±é±ï¼
3ãeasyui
easyui帮å©ä½ æå»ºä½ çwebåºç¨æ´å 容æã
å®æ¯ä¸ä¸ªåºäºjqueryçæ件ï¼å¼ååºæ¥çä¸å¥è½»é级çuiæ¡æ¶ï¼é常å°å·§èä¸åè½ä¸°å¯ã
å®æ¹ç½ç«æ¯ï¼
ä½æ¯å¥¹æä¸ä¸ªæ大çé®é¢å°±æ¯ä»£ç åªè½æ¾å°ä»¥åçå¼æºççæ¬ï¼å°äº1.2以åççæ¬æºä»£ç é½æ¯ç»è¿æ··æ·çï¼å¦æéå°é®é¢ä¿®æ¹èµ·æ¥ä¼é常麻ç¦ï¼ä¸è¿ä¸ä¸ªæ¯è¾å¤§çä¼å¿æ¯å¼æºå è´¹ï¼å¹¶ä¸çé¢åçè¿è¯´çè¿å»ï¼
4ãMiniUI
åä¸ä¸ªåºäºjqueryçæ¡æ¶ï¼å¼åççé¢åè½é½å¾ä¸°å¯ã
jQuery MiniUI - å¿«éå¼åWebUIã
å®è½ç¼©çå¼åæ¶é´ï¼åå°ä»£ç éï¼ä½¿å¼åè æ´ä¸æ³¨äºä¸å¡åæå¡ç«¯ï¼è½»æ¾å®ç°çé¢å¼åï¼å¸¦æ¥ç»ä½³çç¨æ·ä½éªã
使ç¨MiniUIï¼å¼åè å¯ä»¥å¿«éå建Ajaxæ å·æ°ãB/Så¿«éå½å ¥æ°æ®ãCRUDãMaster-Detailãèåå·¥å ·æ ãå¼¹åºé¢æ¿ãå¸å±å¯¼èªãæ°æ®éªè¯ãåé¡µè¡¨æ ¼ãæ ãæ å½¢è¡¨æ ¼çå ¸åWEBåºç¨ç³»ç»çé¢ã
çé¢åçæºä¸éï¼åè½ä¹æºä¸°å¯ï¼ä½æ¯æ两个æ¯è¾å¤§çé®é¢ï¼ä¸ä¸ªæ¯æ¶è´¹ï¼ä¸ä¸ªæ¯æ²¡ææºç ï¼è¯´ç½äºï¼ä¸å¼æºï¼åºäºè¿ä¸ªå¼åå¦ææ³å¯¹åè½åæ©å±å°±éè¦æ¾ä»ä»¬çå¢éè¿è¡å级ï¼
5ãjQuery UI
jQuery UI æ¯ä¸å¥ jQuery çé¡µé¢ UI æ件ï¼å å«å¾å¤ç§å¸¸ç¨ç页é¢ç©ºé´ï¼ä¾å¦ Tabsï¼å¦æ¬ç«é¦é¡µå³ä¸è§é¨åï¼ ãæå¸ææï¼æ¬ç«é¦é¡µå·¦ä¸è§ï¼ã对è¯æ¡ãææ¾ææãæ¥æéæ©ãé¢è²éæ©ãæ°æ®æåºãçªä½å¤§å°è°æ´ççé常å¤çå 容ã
åè½éå¸¸å ¨é¢ï¼çé¢ä¹æºæ¼äº®çï¼å¯ä»¥æ´ä½ä½¿ç¨ï¼ä¹å¯ä»¥åå¼ä½¿ç¨å ¶ä¸çå 个模åï¼å è´¹å¼æºï¼
6ãDWZ
DWZå¯å®¢æ·ç«¯æ¡æ¶(jQuery RIA framework), æ¯ä¸å½äººèªå·±å¼åçåºäºjQueryå®ç°çAjax RIAå¼æºæ¡æ¶.
设计ç®æ æ¯ç®åå®ç¨,å¿«éå¼å,éä½ajaxå¼åææ¬ã
欢è¿å¤§å®¶æåºå»ºè®®ï¼æ们å°å¨ä¸ä¸çæ¬ä¸è¿ä¸æ¥è°æ´åå®ååè½ï¼å ±åæ¨è¿å½å æ´ä½ajaxå¼åæ°´å¹³ã
æ¯ç«æ¯å½äº§çï¼æ¯æä¸ä¸ï¼èä¸æºç å®å ¨å ¬å¼ï¼å¯ä»¥éæ©ä¸ä¸ï¼ä¸è¿æ§è½æä¹æ ·ä¸æ¢ç¡®å®ï¼
7ãGWT
Google ç½é¡µå·¥å ·å ââGWT æä¾äºä¸ç»åºäºJavaè¯è¨çå¼åå ï¼è¿ä¸ªå¼åå ç设计åèJava AWTå 设计ï¼ç±»å½åè§åãæ¥å£è®¾è®¡ãäºä»¶çå¬çé½åAWTé常类似ãçæJava AWTçå¼åè ä¸éè¦è±è´¹å¤å¤§çåæ°å°±è½å¤å¿«éçç解GWTå¼åå·¥å ·å ï¼å°æ´å¤å°æ¶é´æå ¥å°GWTåºç¨çå¼åè¿ç¨ä¸ã
ä½ ä¸ç¨å»äºè§£è¿æ ·é£æ ·çjavascriptæ¡æ¶ï¼éè¿javaä½ å°±å¯ä»¥ååºåè½ä¸°å¯ççé¢ï¼å¯ä»¥ååå æµè¯ï¼æ¯ç«æ¯googleç产åï¼ä¸¥éæ¯æä¸ä¸ï¼
8ãYUI
Yahoo! UI Library (YUI) æ¯ä¸ä¸ªå¼æ¾æºä»£ç ç JavaScript å½æ°åºï¼ä¸ºäºè½å»ºç«ä¸ä¸ªé«äºå¨çç½é¡µï¼å®éç¨äºAJAX, DHTML å DOM çç¨å¼ç ææ¯ãå®ä¹å å«äºè®¸å¤ CSS èµæºã使ç¨ææ为 BSD许å¯è¯ï¼åºæ¬ä¸æ²¡æä¹ç 究è¿ï¼
YUI Compressoråæ¯æºåºåçï¼è¿å¥UIåºä¸ç¥éåºç¨çæ åµæä¹æ ·ï¼
9ãSencha
Sencha æ¯ç± ExtJSãjQTouch 以å Raphael ä¸ä¸ªé¡¹ç®å并èæçä¸ä¸ªæ°é¡¹ç®ã
å¤§å ¬å¸çæ¡æ¶ï¼å¹¶ä¸æ¯å æ ·åºç强强èåï¼å¼å¾æ¨èï¼
ãDojo
å¨å½å åºç¨å¥½åä¸æ¯å¾å¹¿ï¼ä¸è¿æ§è½ä¸åºè¯¥æ²¡é®é¢ã
Dojoæ¯ä¸ä¸ªç¨javascriptè¯è¨å®ç°çå¼æºDHTMLå·¥å ·å ã
æå¤ä¸ªåºéä¼çæ¯æï¼å æ¬IBMåSUNï¼é½æ¯è½¯ä»¶ççæ³°æï¼å¼å¾ä¿¡èµï¼
ãZK
ZKæ¯ä¸å¥ä»¥ AJAX/XUL/Java 为åºç¡çç½é¡µåºç¨ç¨å¼å¼åæ¡æ¶ï¼ç¨äºä¸°å¯ç½é¡µåºç¨ç¨å¼ç使ç¨æ¥å£ãæ大ç好å¤æ¯ï¼å¨è®¾è®¡AJAXç½ç»åºç¨ç¨å¼æ¶ï¼è½»æ¾ç®ä¾¿çæä½å°±å设计æ¡é¢ç¨å¼ä¸æ ·ã ZKå å«äºä¸ä¸ªä»¥AJAX为åºç¡ãäºä»¶é©±å¨ï¼event-drivenï¼ãé«äºå¨æ§çå¼æï¼åæ¶è¿æä¾äºå¤æ ·ä¸°å¯ãå¯éå¤ä½¿ç¨çXULä¸HTMLç»ä»¶ï¼ä»¥ å以 XML 为åºç¡ç使ç¨æ¥å£è®¾è®¡è¯è¨ ZK User-interfaces Markup Language (ZUML)ã
å¨çº¿çdemo
设计å¨çdemo
æ¥åç»ä»¶
åè½ä¸°å¯ï¼å ¨é¢ï¼ææ¡£é½å ¨ï¼èä¸å级äºå¾å¤æ¬¡ï¼é常å¼å¾æ¨èï¼
ãOperaMasks-UI
OperaMasks-UIæ¯OperaMaskså¢é ä¸åå¹´æé çä¸æ¬¾è½»é级å端JSç»ä»¶åºï¼æ¨å¨æä¾ä¸æ¬¾å¦ä¹ æ²çº¿ä½ãå®å¶æ§çµæ´»ãæ ·å¼ç»ä¸ï¼ä¸å¤æµè§å¨æ¯æãè¦çä¼ä¸ä¸å¡åºæ¯çå端 JavaScript UIç»ä»¶åºãç®åï¼è¯¥å¢éå·²å°è¿ä¸äº§å以LGPL å¼æºåè®®å¼æ¾ç»ç¤¾åºã
æ档丰å¯ï¼åè½é½å ¨ï¼èä¸å¾å®¹æ使ç¨åå¼åï¼èä¸æ¯å½äº§çåï¼
ãJavaFX
Sunå ¬å¸(å·²äºå¹´è¢«Oracleå ¬å¸æ¶è´)å¨å¹´ææ¥åå¸äºJavaFXææ¯çæ£å¼ç,å®ä½¿æ¨è½å©ç¨ JavaFX ç¼ç¨è¯è¨å¼åå¯äºèç½åºç¨ç¨åº(RIA)ãJavaFX Script ç¼ç¨è¯è¨ï¼ä»¥ä¸ç§°ä¸ºJavaFXï¼æ¯Sun微系ç»å ¬å¸å¼åçä¸ç§declarative, statically typed(声ææ§çãéæç±»å)èæ¬è¯è¨ãJavaFXææ¯æçè¯å¥½çåæ¯ï¼å æ¬å¯ä»¥ç´æ¥è°ç¨Java APIçè½åãå 为 JavaFX Scriptæ¯éæç±»åï¼å®åæ ·å ·æç»æå代ç ãéç¨æ§åå°è£ æ§ï¼å¦å ãç±»ã继æ¿ååç¬ç¼è¯ååå¸åå ï¼è¿äºç¹æ§ä½¿å¾ä½¿ç¨Javaææ¯å建å管ç大åç¨åº å为å¯è½ã
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºDjangoå端ç¨ä»ä¹è¯è¨çå ¨é¨å 容äºï¼æè°¢æ¨è±æ¶é´é 读æ¬ç«å 容ï¼å¸æ对æ¨ææ帮å©ï¼æ´å¤å ³äºpython djangoå端ãDjangoå端ç¨ä»ä¹è¯è¨çç¸å ³å 容å«å¿äºå¨æ¬ç«è¿è¡æ¥æ¾åã