『壹』 java開源的其它
Java世界中存在許多工具,從Eclipse,NetBeans和IntelliJ IDEA等著名的開始到Java開發人員應該知道的JVM分析和監視工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。
如果你是一位經驗豐富的Java開發人員,你可能對這些工具很熟悉,但如果不是,現在就是是開始學習這些工具的好時機。就來介紹下程序員都知道的10款Java開源工具,你知道幾個呢?
1. JIRA
Atlassian的JIRA是當前敏捷開發領域最重要的工具之一。它用於錯誤跟蹤,問題跟蹤和項目管理。如果你遵循敏捷開發方法,例如Sprint和Scrum,那麼你必須了解JIRA。它允許您創建Spring循環並跟蹤軟體開發的進度。
JIRA 是目前比較流行的基於Java架構的管理系統,由於Atlassian公 司對很多開源項目實行免費提供缺陷跟蹤服務,因此在開源領域,其認知度比其他的產品要高得多,而且易用性也好一些。
2. Git
Git是Java程序員的另一個必備工具,它是一個免費的開源分布式版本控制系統,旨在快速高效地處理從很小到非常大的項目版本管理。Git易於學習,佔用空間小,具有超強的性能。最初 Git 的開發是為了輔助 linux 內核開發的過程,但是發現已經在很多其他自由軟體項目中也使用了 Git。
3. Jenkins
Jenkins是一個用Java編寫的開源自動化伺服器。它有助於自動化軟體開發,例如編譯項目,運行單元測試,集成測試,生成文檔以及在本地和遠程存儲庫上載工件。
4. Selenium
Selenium是Web應用程序最好的軟體測試框架之一。它提供了一種用於創作測試的回放工具,而無需學習測試腳本語言。Java開發人員可以使用Selenium來測試他們的HTML和jsP文件。
5. Groovy
Groovy 是一種基於 JVM 的敏捷開發語言,它結合了 Python、Ruby 和 Smalltalk 的許多強大的特性。你可以使用它編寫構建腳本,測試腳本,甚至可以使用像Gradle和Spock這樣的流行框架。
6、Spock
Spock 是適合 Java 和 Groovy 應用程序的一個測試框架。由於其JUnit運行程序,Spock與大多數IDE,構建工具和持續集成伺服器兼容。如果你想提高你的單元測試技能,那麼多花點時間在學習Spock上總是沒錯的。
7. Maven
如果你是一位經驗豐富的Java開發人員,那麼你一定非常了解Maven了,Apache Maven是一個構建和項目管理工具,基於項目對象模型(POM)的概念,Maven可用於管理項目的生成、報告和文檔記錄。
Maven的另一個有用特性是依賴關系管理,由於我們在Java項目中使用了大量第三方庫,因此手動管理每個JAR及其依賴項可能非常麻煩,Maven通過自動為你下載正確的JAR來幫助你解決問題。
8. Gradle
Gradle 是一個基於 Apache Ant 和 Apache Maven 概念的項目自動化構建工具。為什麼選擇Gradle在Ant或Maven?因為它結合了其他構建工具的最佳特性,例如它具有Ant的靈活性和控制,Ivy的依賴管理,Maven的配置和插件的約定,以及可以在Ant上使用Groovy DSL。這使它成為Java項目的最佳構建工具。
9. Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架或包裝系統。
10. Linux
初學Linux最好從Linux命令行基礎知識開始,Linux是一種自由和開放源碼的類Unix操作系統,在你的職業生涯中起到重要的作用,每一個Java開發者都應該學Linux。如果以上工具還有你沒學會的,那就不要再錯過了趕緊學起來。
『貳』 PHP與JSP
PHP:
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,
主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,
PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
PHP的特性:
1、PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2、PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比。
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3、PHP支持幾乎所有流行的資料庫以及操作系統。
4、最重要的是PHP可以用C、C++進行程序的擴展!
ThinkPHP是一個免費開源的,快速、簡單的面向對象的 輕量級PHP開發框架 ,創立於2006年初,遵循Apache2開源協議發布,是為了敏捷WEB應用開發和簡化企業應用開發而誕生的。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,
在保持出色的性能和至簡的代碼的同時,也注重易用性。並且擁有眾多的原創功能和特性,在社區團隊的積極參與下,在易用性、擴展性和性能方面不斷優化和改進,已經成長為國內最領先和最具影響力的WEB應用開發框架,眾多的典型案例確保可以穩定用於商業以及門戶級的開發。
PHP安全:
PHP其實不過是Web伺服器的一個模塊功能,所以首先要保證Web伺服器的安全。當然Web伺服器要安全又必須是先保證系統安全,這樣就扯遠了,無窮無盡。常見的web安全漏洞有:注入攻擊,跨站攻擊,伺服器自身漏洞等。
PHP的優點學習過程和方法:
PHP的語法類似於C,Perl,ASP或者JSP。對於那些對上述之一的語言較熟悉的人來說,PHP太簡單了。相反的,如果你對PHP了解較多,那麼你對於其他幾種語言的學習都很簡單了。你只需要很短的時間內將PHP的核心語言特點全部掌握,你可能已經非常了解HTML,
甚至你已經知道怎樣用編輯設計軟體或者手工來製作好看的WEB站點。由於PHP代碼能夠無障礙的添加進你的站點,在你設計和維護站點的同時,你可以很輕松的加入PHP使得你的站點更加具有動態特性。
(2)jsp開源中國擴展閱讀:
PHP認證級別:
PHP課程由初級(IFE)、中級(IPE)和高級(IAE)三個部分。
1、IFE即Index Front-end Engineer的縮寫,指數前端工程師的意思。
2、IPE即 Index PHP Engineer 的縮寫,意思是指數PHP工程師。
3、IAE即 Index architecture/advanced engineer 的縮寫,意思是:指數高級/架構工程師。
JSP-網路
『叄』 Java開源框架是什麼
其實框架很簡單的,你可以認為它是一個工具,甚至一個插件。
框架的作用,就是將一個公用的,常用的技術,封裝起來,
幫你處理一些基礎的東西,可以讓你不用再去寫那些繁瑣的東西。
就拿你要學的struts來說:他本質上也是用java寫的,和我們自己寫的類沒有區別,他實現的東西我們自己也可以實現。
比如接收客戶端的數據,我們是用request.getParameter()來的,但是如果有很多個參數,我們要寫很多個,很麻煩。struts它就幫我們實現,不用我們寫,直接寫個屬性,就可以得到。其實本質還是用request.getParameter()。。
所以你不要再在意框架是什麼東西,等你接觸了就知道了。你把它當做一個工具來用,這就是框架。
前台框架:jQuery
Mvc框架:Struts、spring Mvc
核心框架:Spring
orm框架:Hibernate、Spring JDBC、myBatis。
『肆』 web前端開發論壇社區有哪些
推薦一個前端開發者的常用工具列表:
1. lodash:一個一致性、模塊化、高性能的 JavaScript實用工具庫。
2.ramda:一個很重要的庫,提供了許多有用的方法,每個 javaScript程序員都應該掌握這個工具。
3.dayjs:一個輕量的處理時間和日期的 JavaScript庫,js工具類和 Moment js的AP設計保持完全一樣,體積 只有2kb。
4.big.js:一個小型,快速的 JavaScript庫,用於任意精度 的十進制算術運算。
5.qs:一個url參數轉化 (parse和stringify)的輕量級js 庫。
6.three.js:基於webgl的開源3D框架,對webgl進行封裝,需要專業的3D開發知識。
7.thingjs: 一款新興的3D框架,封裝物聯網3D開發概念(建築、樓層等),僅要求初級js基礎。
常見的技術社區,都會有【大前端】學習資源和社區討論,推薦spring4all、博客園、開源中國、思否、CSDN、V2ex、騰訊雲、阿里雲、spring4all、掘金、ITPUB,總有合適你的學習氛圍。
如果有一定的美術能力,3D可視化是不錯的發展方向!審美在線,又有開發基礎的話,轉行3D開發師不用愁。我所處的物聯網3D可視化領域,這個職業很有前景哦~thingjs官網-資源中心提供視頻教程、demo案例、下載插件和3D模型,好好實操一下,初學者有破了一周開發3D項目的記錄!
ThingJS教程(2019版)
ThingJS教程(2020版)
CampusBuilder教程
ChartBuilder教程
ThingJS行業案例
看一下模型效果杠杠滴!
『伍』 安卓第三方開源庫
https://github.com/Snailclimb/JavaGuide
https://github.com/crossoverJie/JCSprout
https://github.com/yangchong211/YCBlogs
https://github.com/GcsSloop/AndroidNote
Android開源庫V - Layout:淘寶談旦、天貓都在用的UI框架,趕緊用起來吧!
安卓開發者不得不收藏的工具
安卓那些游睜你不得不收藏的開源庫
GitHub上受歡迎的Android UI Library
Android開源項目以及開源框架,各種UI實現效果
Github: https://github.com/fanhua1994/XBaseAndroid
Gituhb: https://github.com/white-cat/ThinkAndroid
Github: https://github.com/gdpancheng/LoonAndroid
http://www.52im.net/
http://blog.csdn.net/dong_18383219470/article/details/71101859
http://blog.csdn.net/dong_18383219470/article/details/77932822
https://github.com/robbiehanson/XMPPFramework Ios
http://www.igniterealtime.org/projects/smack/ Android
http://www.igniterealtime.org/projects/openfire/index.jsp Server
http://www.igniterealtime.org/projects/spark/index.jsp Client
開源神侍歲中國官方安卓APP
https://gitee.com/oschina/android-app
安卓聊天APP
Gitee: https://gitee.com/735859399/weichat
Github: https://github.com/JackJiang2011/MobileIMSDK
tinker 補丁管理管理平台
https://github.com//tinker-manager
https://www.jianshu.com/p/e61a4d10e122
https://github.com/alibaba/AndFix 阿里系
ttps://github.com/dodola/HotFix 騰訊系
https://github.com/jasonross/Nuwa
https://github.com/bunnyblue/DroidFix
https://github.com/Tencent/tinker 微信
https://github.com/dodola/AnoleFix 仿美團
https://github.com/dodola/RocooFix
https://www.aliyun.com/proct/hotfix
https://github.com/Meituan-Dianping/Robust 美團系
https://github.com/meili/Aceso 蘑菇街
https://github.com/eleme/Amigo/ 餓了么
https://github.com/square/okhttp
Github: https://github.com/jeasonlzy/okhttp-OkGo 5.9K
github: https://github.com/siwangqishiq/ImageEditor-Android
github: https://github.com/Blizzard-liu/AndroidUtils
github: https://github.com/xiuweikang/IM
github: https://github.com/LaiFeng-Android/SopCastComponent
github: https://github.com/zhoubowen-sky/LingDong
github: https://github.com/cxmscb/android-MaterialEditText
GitHub: https://github.com/dmytrodanylyk/circular-progress-button
GitHub: https://github.com/johnkil/Android-AppMsg
GitHub: https://github.com/MrZhousf/EasyDB
GitHub: https://github.com/LineChen/FlickerProgressBar
GitHub:[ https://github.com/chrisbanes/Android-PullToRefresh 暫停維護]
Github: https://github.com/huxq17/XRefreshView
Github: https://github.com/scwang90/SmartRefreshLayout
Github: https://github.com/MarkMjw/PullToRefresh
Github: https://github.com/Yalantis/Phoenix
Github: https://github.com/liaohuqiu/android-cube-app
Github: https://github.com/lizhangqu/Camera
Github: https://github.com/mayubao/KuaiChuan
Github: https://github.com/greenrobot/EventBus
Github: https://github.com/stfalcon-studio/ChatKit
Github: https://github.com/Rance935/ChatUI
Github: https://github.com/qstumn/BadgeView
Github: https://github.com/bingoogolapple/BGAQRCode-Android
Github: https://github.com/dm77/barcodescanner
Github: https://github.com/googlesamples/easypermissions
Github: https://github.com/yanzhenjie/AndPermission
Github: https://github.com/nanchen2251/CompressHelper
Github: https://github.com/jeanboydev/Android-BitherCompress
Github: https://github.com/Curzibn/Luban (最接近朋友圈圖片壓縮的演算法)
Github: https://github.com/Sunzxyong/Tiny (an image compression framework.)
Github: https://github.com/FinalTeam/RxGalleryFinal
Github: https://github.com/ValuesFeng/AndroidPicturePicker
Github: https://github.com/LuckSiege/PictureSelector
Github: https://github.com/crazycodeboy/TakePhoto
Github: https://github.com/jeasonlzy/NineGridView
Github: https://github.com/donglua/PhotoPicker
Github: https://github.com/jeasonlzy/ImagePicker (已停止維護)
Github: https://github.com/LuckSiege/PictureSelector
Github: https://github.com/FinalTeam/RxGalleryFinal
Gituhb: https://github.com/DroidNinja/Android-FilePicker
Github: https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip
Github: https://github.com/yangfuhai/ASimpleCache
Gituhb: https://github.com/ikew0ng/SwipeBackLayout
Github: https://github.com/liuguangqiang/SwipeBack
[圖片上傳失敗...(image-487509-1510123239039)]
[圖片上傳失敗...(image-f75761-1510123239039)]
Github: https://github.com/Tamicer/JsWebView
Github: https://github.com/forezp/SpringCloudLearning
Gituhb: https://github.com/daimajia/NumberProgressBar
Github: https://github.com/LinHuanTanLy/Pay_Master
Gituhb: https://github.com/chrisbanes/PhotoView
Github: https://github.com/orhanobut/dialogplus
Gituhb: https://github.com/saiwu-bigkoo/Android-AlertView
Github: https://github.com/afollestad/material-dialogs
Github: https://github.com/pedant/sweet-alert-dialog
Github: https://github.com/JoanZapata/android-pdfview
Gituhb: https://github.com/hongyangAndroid/Highlight
Gituhb: https://github.com/xiaoyaoyou1212/BluetoothChat
Github: https://github.com/LillteZheng/ViewPagerHelper
Github: https://github.com/crazyandcoder/citypicker
Github: https://github.com/QMUI/QMUI_Android
MVP+RxJava2+Retrofit2+Glide+Rxbus,主要實現日報、新聞、干貨、影視等資訊,個人項目
Github: https://github.com/Horrarndoo/YiZhi
Github: https://github.com/yangchong211/LifeHelper
A memory leak detection library for Android and Java.(用於Android和Java的內存泄漏檢測庫)
Github: https://github.com/square/leakcanary
Github: https://github.com/zerochl/FFMPEG-AAC-264-Android-32-64
Github: https://github.com/aesion/NodeProgressView
https://github.com/CarGuo/GSYVideoPlayer
Github: https://github.com/gjiazhe/WaveSideBar
Github: https://github.com/fanhua1994/WheelPicker
Gituhb: https://github.com/XXApple/AndroidLibs
Github: https://github.com/AigeStudio/WheelPicker
Github: https://github.com/scwang90/SmartRefreshLayout (最強)
Github : https://github.com/RawnHwang/SmartRefreshLayout
Github: https://github.com/anzewei/NestRefreshLayout
Github: https://github.com/lipangit/JiaoZiVideoPlayer
Github: https://github.com/ACRA/acra
Github: https://github.com/CarGuo/CustomActionWebView
Github: https://github.com/fanhua1994/FastVideoPlayer
輕松將相機功能集成到您的Android應用程序
Github: https://github.com/google/cameraview
Github: https://github.com/hongyangAndroid/AndroidAutoLayout
Github: https://github.com/JessYanCoding/AndroidAutoSize (今日頭條)
視頻錄制 視頻壓縮
Github: https://github.com/zerochl/FFMPEG-AAC-264-Android-32-64
Github: https://github.com/WritingMinds/ffmpeg-android-java
Github : https://github.com/chenhui28/VideoRecorderAndCompressor
Weixin: https://mp.weixin.qq.com/s/7ffZB0_RB90i5c60bEYRWg
Github: https://github.com/bm-x/PhotoView
Github: https://github.com/chrisbanes/PhotoView
Github: https://github.com/jpush/aurora-imui
Github: https://github.com/MZCretin/WifiTransfer-master
Github: https://github.com/DuanJiaNing/Musicoco
Github: https://github.com/GitLqr/LQRWeChat
Github: https://github.com/hmkcode/Android
Github: https://github.com/TheFinestArtist/FinestWebView-Android
github: https://github.com/delight-im/Android-AdvancedWebView
一款新聞客戶端, MVP + RxJava + Retrofit + Dagger2
Github: https://github.com/Will-Ls/WeiYue
Github: https://github.com/yaowen369/DownloadHelper
Github: https://github.com/SOFTPOWER1991/OpenCVCheck
Github: https://github.com/luozhanming/Captcha
Github: https://github.com/JesseFarebro/Android-Mqtt
Github: https://github.com/wenmingvs/AndroidProcess
Github: https://github.com/jaredrummler/AndroidProcesses
Github: https://github.com/daimajia/AndroidSwipeLayout
Github: https://github.com/norbsoft/android-typeface-helper
Github: https://github.com/zcweng/ToggleButton
Github: https://github.com/wangzailfm/WanAndroidClient (Kotlin)
Github: https://github.com/salecoding/WanAndroid (Java)
Github: https://github.com/zrunker/IbookerEditorAndroid/
Github: https://github.com/jfeinstein10/SlidingMenu
Github: https://github.com/SpecialCyCi/AndroidResideMenu
Github: https://github.com/totond/TextPathView
Github: https://github.com/DroidPluginTeam/DroidPlugin [360手機助手]
Github:[
『陸』 有沒有開源的java製作的類似「百科」或者「維基」的組件
JspWiki 是一套非常容易安裝的系統,使用到JSP與Servlet技術。
DevWiki是一個把頁面存儲在CVS中的Wiki引擎。
Chiki 點擊次數:944
基於Struts的Wiki系統。
SnipSnap 是一個基於java的wiki + WebLog
FITNesse是一個 基於FIT的測試環境,. 它內建Wiki伺服器,簡單易用。
Friki部署簡單,非常小隻有67k
XWiki是一個強大的Java開源的Wiki引擎。它支持一些受歡迎的特性如:
* 內容管理(瀏覽/編輯/預覽/保存),
* 支持附件,
* 版本控制,
* 全文本搜索,
* 許可權管理
* 使用Hibernate進行數據存儲,
* RSS輸出與顯示外部的RSS feeds,
* 多語言支持,
* 提供XML/RPC的API,
* WYSIWYG HTML編輯器,
* 導出為PDF
* Groovy腳本支持等等....。
ButorWiki這是一個基於java的Wiki,它是一個web應用程序,使用Butor Java 框架與struts MVC 框架。ButorWiki不需要資料庫,而是使用文件系統進行數據存儲。
Very Quick Wiki是一個JSPs與JavaServlets開發的WikiWiki。在Tomcat或其它容器上安裝與運行都很簡單。
UseModj這個Wiki引薦運用到Struts框架與Velocity模板。它具有一些新的特性:多語言支持,支持RSS 1.0(rdf),文件/圖片的上傳與下載,圖片大小調整,可以用多種語言命名文件/圖片
Platypus Wiki一個Semantic(語義的) Wiki Wiki Web.它提供一個簡單的使用基於W3C標准元數據(metadata)的用戶介面來創建Wiki頁面.Platypus Wiki使用RDF(Resource Description Framework:資源描述框架),RDF Schema和OWL(Web Ontology Language:Web實體語言)來創建實體(Ontology)與管理元數據.
CsaWiki是一個利用Java開發的wiki引擎。它具有以下特點:100%Java(J2EE沒有EJB),基於文件沒有資料庫,版本控制,PDF導出,簡單的Wiki sintax等。
Elsie是一個用Java開發的Wiki引擎。它支持大多數流行wiki所應具備的特性包括:簡單的wiki markup語法,內容管理(查看, 編輯,附件等...), 版本控制,訪問控制列表和用戶/組管理,可使用布局模板和CSS來控制外觀,一個用於創建公共文檔的文檔模板,支持I18N和多種語言,搜索等. Elsie實現一個基於IoC的wiki內核並提供一組定義清晰,獨立於servlet的wiki API 以便於使整個Wiki易於擴展和可定製。
Corendal Wiki是一個開源並已經被實際公司所使用的Wiki應用軟體。它的界面非常簡潔;不需要學習wiki語法, 通過使用WYSIWYG在線編輯器來代替;不需要用戶管理,它實時連到活動目錄(Active Directory)來重復使用用戶賬號和組,它應該是唯一一個與活動目錄組相集成的Wiki,本地賬號和組都可以用它來創建;所有的文章都具有一個層次結構,以使得內容易於管理;可以針對每一個頁面設置不同的訪問許可權或自由更新或鎖定或發布;用戶可以使用訂閱機制來獲得更新通知,更新可以是每天或每周或立即通知;可以自定義界面布局(使用Velocity模板和CSS實現) 。Corendal Wiki基於Tomcat和MySQL運行。
JAMWiki採用Java/JSP開發的Wiki引擎。它提供許多MediaWiki應具有大部份的功能。JAMWiki不需要資料庫支持,數據採用文件系統存儲(但)並且易於安裝。
『柒』 中國有哪些網站開源軟體:比如我知道是Z-BLOG wordPress。他們有什麼區別那個最好
phpcms,帝國CMS,dedecms這些都是CMS內容管理系統
phpwind和discuz這兩個是國內領先也是使用率最大的BBS論壇系統,DZ目前已經被騰訊收購了。
z-blog屬於blog博客系統
jspmps是什麼我不知道,沒聽說過。
而wordpress既屬於CMS,又屬於BLOG,甚至還能是BBS系統,因為他太強大了。
你列舉的這些系統很大的一個共同點就是基本上所有的系統都是基於php+mysql的,有個別兼容sql 和AC資料庫。
因為我對wordpress有一個先入為主的概念,所以我覺得wordpress可以比你所說的那些系統都要好,當然了,就BBS系統的dz和PW來說,可能做論壇會比wordpress優越。
至於支持哪些代碼,很明顯就是php啦。
國產的PHPCMS,帝國CMS,DEDECMS這些CMS系統的特別是比較容易上手並且深入研究,有固定的模板操作就行了。z-blog也同樣是,但是在多樣性,拓展性還有靈活性來說,wordpress是最好的,我經常在網路知道說的一句話就是,沒有wordpress做不了的網站。因為太過強大,上手就非常容易,傳個模板,改下導航,弄下小工具和邊欄就行了,但是要真正的深入研究,那就得花很大功夫了。
並且做網站的重點是做優化,在優化方面,wordpress自然不用多說,因為他所有的代碼都是經過嚴格制定的,多一個不行,少不行更不行。全世界公認代碼優化最好的網站系統。
『捌』 像開源中國(oschina)這種網站,叫什麼站 希望回答的具體點..急著想知道。
社區站。用java寫的。
谷鴿「開源中國用的程序是什麼開源程序?」第一條
『玖』 JSP收費嗎
1.開發工具可以找到免費的。
2.要想得到好的使用效果,好的服隱巧務器肯定要花錢。
3.JSP只是一種技術,不是成品,你可以免費下載開發過程使用的東西,比如JDK等衫襪,但如果要用到一些好的成品技或攜激術的話,是要交費的。比如資料庫,伺服器,還有可能是一些框架。
『拾』 為什麼那麼多公司不用 .NET,而選擇PHP、JSP,是 .NET有什麼缺點嗎
先以開發者的角度:
PHP跟.net根本就不是一個級別的,.net無春斗論是應用場合、開發環境、幫助文檔、編寫風格、運行效率全部吊打PHP;PHP之所以流行就是因為很多開源框架都是現成的,剛好符合國人拿來主義的精神,修修改改就能拿來賣錢了。
JAVA各方面體量大致跟.net旗鼓相當,Windows系統下還是.net的天下,企業應用方面JAVA佔用率高些,移動開發方面因為安卓和蘋果的原因,.net失去了先機。微軟正在逐步趕超,unitiy、.net core都在表明微軟的態度。
以成本的角度:
微軟的產品哪都好,就是版權太貴,Windows系統要錢,office要錢,伺服器要錢,sqlserver要錢,再高級點用用企業版、集群之類的,做一個項目下來才能掙多少錢,都給微軟了。PHP之所以能存活,就是linux免費,MySQL免費,Apache免費,PHP免費,就連框架都免費;JAVA跟PHP差不多。這種生態下導致了代碼資源非常豐富,天下一般抄,開發成本就更低了。所以不是微軟的東西不好,是JAVA和PHP開發成本太低了。用過對比你會發現,貴有貴的道理,所有開發幫助文檔中,沒有比微軟做的更詳盡的。
如果你是一個獨立開發者,首選.net,Windows桌面應用、Windows服務、Windows 游戲 、網站、webservice、unity 游戲 ,除了安卓和蘋果原生應用,.net都能勝任。如果微軟可以在安卓下造出類似framework的東西,那就一統天下了。
做了7年的c#開發,4年多的java,c/c++,說說我的看法,主要有的區別:
一是開源和閉源的區別,.net早期完全閉源,開發也是完全傻瓜式的,微軟的思想就是讓開發更容易,所以無法看到底層實扒衫磨現,給人的感覺就是走一條胡同,很快到達目的地卻無法知道牆內的東西,接觸過java和c之後,感覺就像掉進了大海,原來海底也這么漂亮,有太多開源的軟體和框架,你可以看到更深層的東西,比如我們看bbo,看進去後看netty,netty看進去後看到Linux,select,epoll,看到epoll,看Linux相關的,感覺就是掉進了大海,太多東西需要學習,做這么多年開發依然在不斷的學習,但也給了我更多興趣和探知未知世界的樂趣,以前做.net的時候有種感覺就是,別讓我做非.net的東西,我不會,對陌生的的東西很害怕,現在的感覺就是你讓我寫個控制原子彈的程序我也敢去寫(比方)。
二是塌肢免費和收費的區別,所有的公司產品的成本是公司發展的最關鍵因素之一,.net全家桶成本太高,vs的版權+windows版權+sql server版權再加上其它支持類軟體版權,成本非常高,相反linux完全免費開源,給你選你會選哪一個?同時linux或從Unix而來,但天生具有輕量級性能可以發揮到極致而且穩定的系統,而windows為個人和辦公而設計,界面和系統其它資源就讓系統佔用一部分,感覺很笨重,上天做一個長連接測試,單台Linux輕松上幾十萬,當然由於內存原因,否則可以上百萬,而windows就很難做到,而且Linux哪裡不行你可以去改的,windows就不行了,所以一個穩定高效免費的還有一大堆開源支持的,和一個收費性能相比沒有那麼高效的,好多公司自然選擇前者
三是開發效率,上面說兩點都說.net處於下風,但.net不是一無是處,.net有自身的優點,那就是開發效率,.net在java之上做了改進,讓開發人員更容易開發,語言優美,做企業應用開發是很好的工具,可以快速出結果,你用其它開發要麼大炮打蚊子,要麼不穩定,在工廠和企業就要求很快做出來,這是.net優勢,所以有他的市場份額,說這么多發現沒個圖,有評論的傳一張
為什麼PHP、Java在市面上比.NET要受歡迎?而且從各大招聘網站上看PHP、Java的崗位比.NET崗位要多很多。
其實.NET也是有不少的優點的:
但是,它的致命缺點是:
設想一下,一個企業,如果伺服器眾多,那系統費用、資料庫的授權費用,是多麼龐大的一筆支出!
而PHP、Java則不同,它們都是跨平台開源免費的,雖然Java開始收費了(但還有免費的OpenJDK),所以PHP、Java還是首選。
我自己當初學過.net,java,現在算是略有了解。 就我個人理解, 許多公司不用.net 語言的根本原因,就是 .net 在最初的時候不開源,教程少,入門較難,而且最後正式發行程序什麼,還要交錢,所以在許多公司中首選java這種開放語言,教程多,入門簡單,基本不收費(不收費是關鍵,劃重點) 。這也算是開源與閉源軟體之爭吧,最終以java為首的開源軟體獲勝,得以普及。
後來,開源軟體已經是大勢所趨,這時候微軟.net陣營已經做了許多改變。我最熟悉.net中的c#語言,我就以c#為例說說吧。
微軟以前信奉閉環,所有語言都不支持跨平台,也就沒有c#;後來java越來越發展壯大,.net感受到了巨大危險,於是就模仿java,.net提出了c#,藉以打擊java。c#很像java語言,而且和java一樣能夠跨平台,windows、linx、android、ios都可以編程,這就是微軟做的改變。
如果大家用過c#或者vb,c++來編寫窗口程序,就會發現,這些語言寫出來的windows窗口太棒了,而用java寫出來的窗口程序,不敢恭維,太丑了,這也就是我後來學習c#的原因。(這也就是為什麼說跨平台只是一個美夢而已)。
跨平台、開源之後的 .net ,其實跟java的基礎結構並不差多少,但不具備數量優勢,也就是說:java由於之前用的人太多了,各個方面的創新、發展都比較完善,有著堅實的用戶群體、應用基礎;而 .net ,由於是後發,已經失去了太多的應用環境,自然現在許多公司在不考慮是專為windows開發的情況下,是不會太主動使用.net。
如果用戶採用微軟全家桶解決方案, .Net 的開發效率和體驗是完全可以吊打 Java 和 PHP 的, 但昂貴的價格, 讓開發者和用戶又愛有恨.
其實 .Net + C# 現在雖說不如一票跨平台框架語言用得人多, 但也遠遠談不上沒落.
在這個問題上, 個人認為 Microsoft 的原 CEO Steve Ballmer 難辭其咎, 在 Windows 霸主地位已經開始崩潰的時候 依然固執堅持封閉生態, 導致當時的 .Net 開發者 無不焦慮和彷徨.
不過 2014 年 Satya Nadella 接任 CEO 後, 微軟 逐漸採取了 務實 開放 的做法, 收購 Xamarin 整合進 IDE, 推出 Visual Studio 社區版, C# 開始免費和跨平台, Microsoft 越來越像 Oracle, C# 越來越像 Java, 多多少少緩解了開發者的憂慮, 不少開發者開始回歸, 畢竟 C# 優雅的語法 和 Visual Studio 卓越的開發體驗 確實讓人難以割捨.
.Net以前是不開源的,需要收費,有著各種版權問題,導致其語言生態發展不夠。有其語言優點,但是從公司發展成本上來考慮,就註定不能作為首選。
PHP未興起之前,很多公司使用.net來開發網站,因為相比較java的JSP,開發效率也還是要高一些,這對中小型企業的業務快速變更升級很重要。JSP運行速度會快一些,但其需要編譯的特點,開發速度會相對緩慢。而對中小型企業來說,時間就是金錢,開發速度太慢,跟不上業務發展是很致命的。
之後PHP應運而生,其語言設計的初衷就是為了快速開發web應用。完全的開源免費,開發效率非常高,甚至一個人就可以搞定一個項目。中小型公司,從發展之初的考慮,逐漸將PHP作為首選發展語言。
隨著PHP生態的逐漸強大,.net這種生態落後,開發速度比不上PHP,運行速度比不上JSP的語言也就逐漸沒落了。
現在也有很多發展好了的公司,做大了做強了,又開始將自己的PHP項目往JSP遷移,因為開始追求運行速度。
所以PHP基本佔領了中小型公司,而大公司則更多選擇JSP。這都是語言的特性和優勢決定的,將來如果出現一種語言能同時兼有開發速度和運行速度的免費開源的語言,那PHP和JSP也會逐漸走上.net這條路。一切都是企業成本和效率的問題。
+++++++++++++++++++++++++++++++++++++
第一次寫問答,沒想到有這么高的閱讀量。
有些人說我對.net的認識太落後了,好吧,我開始學編程的時候,.net確實是比較封閉的狀態,這些年我也不再去關注.net,對它的進一步了解也都是通過身邊的同學朋友側面反映的。
然後,真實情況是,我身邊所有學.net的同學都轉行了。因為崗位少,薪資低,真的生存很艱難哩。
遙想當年,我們一個宿舍的同學(一群窮逼,只能住在學校破舊的8人大宿舍里,因為住宿費真便宜啊 ),開始討論選某個語言作為今後學習方向。有人選擇了.net,有人選擇了PHP,有人選擇了JSP,然後各自努力。
現在,再來看彼此發展,.net的同學都轉行了,PHP的都在中小型公司,JSP的在平安保險這種大公司里。薪資待遇對比,.net的同學和我們也有了差距。如果只看基本工資的話,還是PHP的高,哈哈。但是,加上年終獎就撲街了。我們同在深圳的經常一起出來聚聚,中小型公司的經常自嘲,辛辛苦苦一整年,比不上**一個年終獎。唉,大公司年終獎是真多啊,可以頂你大半年甚至一年的工資,人比人氣死人。
當然,學PHP也不是都好,有個同學受不了壓力轉行做SEO了。也不是所有學java都好,我現在公司的測試就是個學java找不到工作,轉而當測試的。
其實問題還是經驗,有多年工作經驗,就是你找工作最好的敲門磚了。
最後,沒有最好的語言,適應市場發展的語言就是好語言。
各位看官,不喜勿噴!
簡單的說幾句,就幾句。我司用.net做web,推送伺服器,消息伺服器,數據握手服務,cad應用二次開發,gis應用,各種手持設備應用,各種服務窗口用的終端應用,視頻監控等等等,你還覺得php真的能打過.net么?
個人的觀點:
1、php肯定比不過.net了,用他主要是網站那塊而已。
2、net和Java,單純從語言c#比java優秀,開源生態肯定是Java,效率是c#
3、.net效率不高,在於windows平台,現在跨平台了,linux性能高於windows。
.Net core 有一定的機會。
這個答案有幾點:
1、運行環境成本問題,在.net core出來之前,.net
需要的運行環境搭設成本高,windows伺服器正版上萬,用access做資料庫也需要幾千元的正版office,雖說sql express是免費的,但是閹割的太厲害。所以一般win虛擬主機或者伺服器都基本上比linux的貴,尤其是海外注重版權地區,更是差至少一半,所以造成了php大行其道,因為他的運行環境幾乎零成本,而且伺服器需要的配置可以很低,甚至128m內存就可以跑php程序。
2、開發環境成本問題,一樣的毛病,code出來之前,開發.net程序的工具首選visual studio,但是正版的也要幾千上萬,不是一般人承受的起的。而php和java的免費又好用的開發工具又很多,因此php又獲得了先機。
3、學習成本問題,.net之前,微軟平台應用系列的開發需要太多,vb,c,c++,而網頁腳本語言是基於vbscript的asp,隨著系統的發展,這些需要和腳本逐步跟不上時代對敏捷開發、更復雜系統開發的需求,因此推出了asp.net和c#、f#,vb.net等語言,網頁方面使用asp.net開發又一直升級,.net 2.0,3.0,3.5,到現在的4.7.x,每次升級都帶來了新的概念,如今為了搶回份額,推出了.net core 也是升級了好幾個版本,所以.net的開發要不斷的學習,學習,升級,升級。而php就不一樣了,版本的升級基本上都是框架內的升級,學習成本明顯低於.net
4、資源豐富問題,如上所述,由於成本問題,很多人選擇了php開發,然後php的免費框架越來越多,程序員一般都懶,拿來修修改改就能上線,接著做下個項目就可以啦,而.net明顯沒那麼多免費框架,市面上分許多.net框架是要授權費的。
不過目前微軟的發力,也在著手改善這種問題,發布了visual studio code,visual studio community免費開發工具開發成本明顯降低,.net code跨平台語言只要版本符合要求linux系統也可以運行.net code開發的程序了。如果能夠有支持linux的文件型的資料庫軟體(例如office的access)發布就更好了。
做一個企業,最主要的目標是生存。活下來,才是根本目標,說好聽一點,就是可持續發展。微軟的生態圈大多收費,價格不菲,雖然從性能,入門,易用性來說,.Net都好於Java領域,好於JSP和PHP,無奈中國市場競爭激烈,企業研發成本是首選考慮的因素,尤其是在中美貿易戰的背景下,美國要加強知識產權保護的前提下,使用方用.Net產品和服務就要支付昂貴的版權費用,讓人承受不起。那麼,免費開源的非.Net體系,就會受到很多企業青睞,企業只要承擔人工成本,不用過多支付版權費,是企業不得不考慮的方面。所以,現在使用什麼技術,未來使用啥技術,是市場競爭的結果,要把握住這種趨勢,才能佔有先機。