『壹』 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体系,就会受到很多企业青睐,企业只要承担人工成本,不用过多支付版权费,是企业不得不考虑的方面。所以,现在使用什么技术,未来使用啥技术,是市场竞争的结果,要把握住这种趋势,才能占有先机。