The Open Source Software and Frameworks I Used Over the Years
Through The Open Source Software and Frameworks I Used Over the Years | Big Dye.
As a Java programmer, I think many times we need to be involved with open source software. I have to say that if my life didn't have open source, it would definitely be worse than it is now, and our programming efficiency would not be as high as it is today. By using those famous open source software, we gradually deepened our understanding and continuously improved our coding skills. We also learned from their design capabilities.
So far, I haven't designed or contributed any open source software; I know my abilities are still not enough. However, I hope that one day I can contribute to the open source world, and I also hope that other friends can join this cause. Let's make the world a better place.
Below is a list of open source software I have used. Some of them I only have a basic understanding of and am not very familiar with, but I think they are great and will be recorded below:
========================== Development Languages ===============================
Java No need to say much, it's what I am currently studying and using deeply.
PHP Suitable for rapid development server language. I have only studied it a few times, about two or three times, each time learning a bit and then giving up. Eventually forgotten. Because I still prefer Java.
Node.js A server-side language framework based on JavaScript. Its non-blocking characteristics make it easy to develop high-performance websites. Development is fast, and it has started to become popular in China, with many open source components that allow for increasingly diverse functionalities, such as the famous express.js, which provides support for rapid website development and comes with RESTful.
C#, C , I used to learn it, but now I have almost forgotten it.
JavaScript Mainly used as a scripting language for browsers, and now with Node.js, it can also be used on the backend server, making it relatively easy to get started. jQuery is also essential. Mastering this is very important. In the world of HTML5, JavaScript can do more and more things. Based on the V8 virtual machine, it has greatly improved JavaScript's performance in Chrome.
==================== Tools ===================
Eclipse An open source Java IDE, which can also be used to develop C/C++, PHP, Ruby, and other programs. I think it is the best integrated development tool in the world. Its functionality can be infinitely expanded through plugins.
NetBeans An open source Java IDE developed by Oracle, but I think it still has a certain gap compared to Eclipse. It's not as user-friendly and can be a bit sluggish.
Notepad++ An open source text editor that supports syntax highlighting for almost all languages and also supports installing various plugins to extend its functionality. It's very lightweight.
Tomcat An open source Java servlet container, a lightweight server. It performs very well. However, many Java EE feature programs cannot run on Tomcat.
JBoss AS An open source Java application server, which is much more powerful, supporting all the functionalities of Tomcat and providing complete support for Java EE. The latest JBoss AS 7 has added OSGI functionality, making it even more powerful.
Jetty An open source Java servlet container, which you can simply understand as being similar to Tomcat, but it is more lightweight and can even be embedded into applications, as small as just one package. This means your program can run independently, of course, you need to include the Jetty-related packages in your program.
Aptana An open source Eclipse plugin with powerful features, providing many web development functionalities, supporting themes, embedded Git plugins, etc., and its JavaScript assistance features are also very powerful. I haven't used many other features yet, but it's worth starting to use.
Checkstyle An Eclipse plugin used to check code syntax and structure. Its requirements are stricter than Eclipse itself, and it demands high programming standards from developers, but it can help you write higher quality code that is easier for others to read and understand.
FindBugs A plugin for Eclipse that checks for potential bugs in the code. I am not yet very familiar with it, but it is still very useful for checking common bugs in your code at any time.
MAVEN Similar to ANT, a project packaging and build tool, also component-based. You can accomplish many functions by using multiple Maven plugins. It is much more powerful than ANT for tasks like automated builds, while also supporting calling ANT commands.
Git An open source code version control tool. It is distributed and works securely without a central server.
Chrome Google Chrome, I usually use it to debug web applications, which is quite powerful.
Nexus An open source Maven repository management tool with powerful features.
Jenkins An open source project automation build and continuous integration server. Developed based on Hudson.
Run Jetty A plugin to run Jetty with one click in Eclipse, especially convenient for developing Maven projects. Simple, while the traditional run on server cannot achieve this.
M2E An open source Maven Eclipse plugin that provides graphical support.
===================== Java Development Frameworks =======================
Struts A very famous control layer framework, but I don't like it much.
Spring Framework One of the best frameworks in the world, its capabilities are powerful and its usage is widespread. It is said that the code implementation inside is quite classic, but I haven't read it yet. Many frameworks derived from it are also great, such as Spring Security.
Hibernate An open source ORM framework that turns all database operations into object operations, but its weakness is that it cannot directly use SQL statements for operations, making it cumbersome when handling more complex queries compared to directly operating SQL statements.
JGit The Java implementation of Git. Very good, as it is used in an Eclipse plugin, thus eliminating platform issues; Java helps me solve everything.
Apache POI An open source Java API that you can use to manipulate Windows documents: doc, xls, ppt, pdf, etc. Very convenient. I have used it to export data to Excel before.
Jersey An open source Java RESTful service implementation. Quite simple. It feels comfortable to use.
Apache CXF Another open source Java web services implementation, of course supporting standard REST services. It also has an OSGI version, which is quite advanced.
Dom4j An open source library for manipulating XML in Java, making it very easy to read or write XML documents.
Apache FileUpload An open source file upload plugin for Java, very practical and relatively simple.
Log4j An open source logging framework for Java that can write software logs to the console, external files, or databases.
SLF4J Another open source Java logging framework, but it does not provide an implementation itself; instead, it provides interfaces. If you want to write logs to external files or databases, you still need to use it in conjunction with Log4j and other frameworks.
================ Other Development Frameworks =========================
Twitter Bootstrap Twitter's open source front-end framework, making it super easy and fast to develop a web interface, and it's very beautiful with good compatibility.
ArtDialog An open source JS popup framework written by a Chinese person, very easy to use and also very stunning. Highly recommended.
jQuery Form An open source jQuery form plugin that can be used to execute AJAX form requests, etc.
XML2JSON A jQuery plugin used to convert XML documents to JSON. JS operations on JSON are much more comfortable.
Highcharts An open source JS chart plugin with powerful features, offering various charts and supporting AJAX asynchronous requests.
jQuery This powerful JS framework makes JS much easier to use.
jQuery UI A UI component framework for jQuery that integrates many web UI components, but I think with Twitter Bootstrap, this framework has lost a lot of its appeal.
jQuery Mobile A jQuery UI plugin for mobile platforms that can make programs look more like native mobile platforms, but I feel the performance still needs improvement.
Currently, I can only think of these. The descriptions of open source software in the text may have errors, and I welcome corrections and discussions.