The ancients often with knives, guns, Swords, Ji, axe, Yue, shovel, fork, whip, Mace, Hammer, GE, Tang, sticks, lance, rods, spears, palladium 18 kinds of weapons, everything proficient, to describe a person's military study skills get state. In the world of developers, proficiency in a variety of auxiliary tools, can achieve a multiplier effect, quickly improve efficiency. Gossip is no more, come and see what it is.
Dojo
There is always a place for practicing martial arts, so it is easy to gather people who have always been interested in learning, and it can help to spread the information, concentrate the energies, cultivate the skills, exchange the experience and compete with each other. The use of tools is also in a specific development environment in order to play a better effect.
My development Environment (DOJO) is a Mac Pro from Apple Inc. (2014), which is configured as follows:
MacBook Pro (Retina display, 15-inch, 2014-year)
Processor 2.2 GHz Intel Core i7
Memory up to GB (MHz) DDR3
Graphics card Intel Iris Pro 1536 MB
Operating system OS X EI Capitan
The tools described here are run in this hardware and software environment, after more than 2 years of development experience/experience of the verification, so share to everyone.
If a friend's research and development environment and described here is not quite consistent, then only for reference it, specific combination of their own situation.
For easy retrieval, the tool classification is added.
What is the first step in development? Learning documents? Draw a flowchart? or write the code directly? Well, let's start with the learning document.
Document view
Dash
When writing code, are there some APIs that can't be remembered, such as which class to use for ellipse drawing? What is the function for calculating the squared open? How to connect remote MySQL server to retrieve data? What do you usually do at this time? Ask the mother? Ask Google? See the online programming documentation directly?
Ask Google in the country need FQ, then related to the use of another tool. View online documentation, what if I can't remember the entry URL? In a collection, what if the entrance changes? Still need to ask the search engine Ah! So the question comes, degree Niang stickers small ads to do? With Dash, an app collects almost all of the world's programming language documents, and it's fast to update.
Software homepage and: Https://kapeli.com/dash
Flowchart Design
OmniGraffle A lot of people recommend, but I think this software is too expensive, so recommended two free software process design tools.
XMind
The main focus of brain map (mind map), flowchart is also supported, there are also scheduling plans and other additional features.
Software homepage and: http://www.xmind.net/
Gliffy diagrams
Not a standalone app, but a plugin for chrome that can be downloaded and installed in Chrome's App Store, which is lightweight and fast to run.
Software Home: https://www.gliffy.com/
Text Editor
not limited to code editing, a good editor will make your editing work a lot more enjoyable.
Macvim
Why did I not recommend the popular first sublime? Because, I have been using Vi/vim for more than 10 years. Originally in school, Vm/emacs two selected one, I chose the more easy to practice VI, since then used to view/compile text/code.
Software homepage and: http://macvim-dev.github.io/macvim/
Macdown
General code viewing and editing with VI is enough, the rest of the documentation, well, most of the articles/documents are now written in the markdown syntax, so a markdown editor is enough. For example, the writing of this article, I use the Macdown editor, the article syntax using markdown syntax. Since is Markdown editor, then someone will mention with MoU, the author also tried for a period of time, encountered some problems, such as grammar support and interface display, and later switched to Macdown, feel that all aspects of support is good, so has been used.
Software homepage and: http://macdown.uranusjr.com/
Sublime Text
It's hard to be familiar with Vi/emacs if you're not working on Linux all the way down the road. Then, a third-party editor like note++ or UltraEdit would be a good choice for you. Compared to the cumbersome IDE in an integrated development environment, running slow and consuming memory, choosing a lightweight editor is a good choice when it's often unusual to view/edit code/documents more frequently than normal. So, where have all the users who used the third-party editor gone? That should be the sublime text.
Software homepage and: http://www.sublimetext.com/
Picture Editor
Write the article code, in addition to the text processing, but also need to have a beautiful map embellishment and foil. More often, graphs are an important means of attracting traffic and eyeballs.
Gimp
Why not use the Adobe Photo shop? Too expensive, too complicated. So, well, here I recommend the Gimp,ps should have, it basically has.
Software homepage and: http://www.gimp.org/
IDE for integrated development environment
An integrated development environment is a large-scale development software that integrates editing, compiling, linking, debugging, versioning, and packaging and publishing. Its features are rich in functionality, quick to get started, easy to operate. The drawbacks are also obvious, cumbersome, slow to run, and require more CPU, memory resources.
Eclipse
The old balm-type integrated development environment, fast-running, supports almost all languages, but in recent years the number of users has slipped and gradually turned to Android studio and IntelliJ idea.
Software homepage and: http://www.eclipse.org
Android Studio
Android App Ape-exclusive development environment.
Software homepage and: https://developer.android.com/studio/index.html
IntelliJ idea
Eclipse Alternatives, supporting the most popular development languages and frameworks on the market, quick-start, more user-friendly interface, a model of modern integrated development environment.
Software homepage and: https://www.jetbrains.com
Xcode
Apple's official only designated OBJECT-C and swift integrated development environment.
Software homepage and: https://developer.apple.com/xcode/
Analyzing Debug Classes
The app has been written, installed to the device, but pulled from the network image display failed, how to break? After the app hits the package, you want to see what's in the bag? With such a problem, this tool can help you to solve the problems encountered above.
Wireshark
Old network Grab a weapon, all kinds of platforms can play.
Software homepage and: https://www.wireshark.org/
Tcpdump
This is a command-line tool that can be viewed as a command-line version of Wireshark.
The system comes with no additional installation. Use Help
Charles
Network grabber with proxy function, and support self-signed certificate, so can be used to crawl HTTPS on the phone packet. Very convenient to use. Paid software is worth buying.
Software homepage and: https://www.charlesproxy.com/
Jd-gui
Java's class file Decompile artifact allows you to view its Java source code from a binary class file.
Software homepage and: http://jd.benow.ca/
Jadx
Jd-gui's enhanced version allows you to view the Java source code in the Android Apk/dex file and view the contents of other files in the APK.
Software homepage and: HTTPS://GITHUB.COM/SKYLOT/JADX
Version Management
Frequent modifications, estoppel, and records need to be managed, so versioning is a must.
Sourcetree
Atlassians's graphical version management tool supports Git and mercurial.
Software homepage and download site: https://www.sourcetreeapp.com/
File sharing
From File server (FTP, Samba etc.) Download the material or upload the file to the server.
FileZilla
Veteran sourceforge open source file transfer software.
Software homepage and: https://sourceforge.net/projects/filezilla/
Certificate Management
The certificate is generally used for HTTPS encryption, the installation file signature of mobile app software.
Portecle
An Image Management Certificate tool.
Software homepage and: https://sourceforge.net/projects/portecle/
Screen Cutting
Screenshot is a strong demand, yes. There is a screenshot shortcut on the Mac, only the screenshot. General users after the screen is finished, not immediately issued to, but to do post-processing.
Snip
Screenshot, edit.
Software homepage and: http://snip.qq.com/
Database
When debugging an app, if the app generates data and saves the data in the database (SQLite). If you want to view it on a development host, you can use the following tools.
Datum
View the contents of the SQLite database.
Software homepage and: http://www.datumapps.com/
Network requests
Sometimes you need to construct an HTTP network request (Get/post) and see the details of the input and output. Simple get with a browser can do, a little more complex need browser installation plug-in support. Use the following tools to get better results.
Wget
Command-line tools. In addition to viewing the Send network request, view the results. Another use is to download files, especially large files, download with the browser is often disconnected, and the breakpoint continued to do is not too good. wget command download file, support for the continuation of the breakpoint, this is a good use.
Curl
function basic with wget, the system comes with the tool, need not install.
Rest-client
Support for RESTful style network request construction, request and result corresponding. A good helper for debugging restful interfaces.
Software homepage and: https://github.com/wiztools/rest-client
Virtual Machines & Simulators
My computer is a Mac, but the Professional edition of China Merchants Bank does not have a Mac client, swollen? What do I do if I want to see the Android app running on my Mac? Install a virtual machine!
VirtualBox
Established virtual machine software that supports almost all popular operating systems on the market.
Software homepage and: https://www.virtualbox.org/
Genymotion
Android Simulator, run Android app as fast as on your phone.
Software homepage and: https://www.genymotion.com/
Mac-specific
Some of the tools are specific to MAC systems, such as managing Apple devices (IPad, IPhone, IMac, Mac etc). A tool for configuring files.
Apple Configurator
On the App Store self-search download installation.
Use Help
Service-side Tool kit
Sometimes you need to locally debug some services provided by the server, or the site behind the scenes. This time the selection of a dev/debug/simulate environment becomes important. Or the words do not forget the original words, good tools to make you more effective!
Bitnami Service-Side kit
Local debug Web server, Nginx, MySQL, php-fpm, etc.
Software homepage and: https://bitnami.com
Kitematic
Docker graphical management tool. Software homepage and: https://kitematic.com/
FQ Weapon
I want to Google search for the latest Android development documents and APIs, but currently in the domestic use of Google, how to do? FQ It!
Shadowsocksx
Look at the title, do not say, silently download, install and then run, configure, open the browser, visit Google, search Android can!
Software homepage and: https://sourceforge.net/projects/shadowsocksgui/
Lantern
If that doesn't work, then try this one, don't say much.
Software homepage and: Https://github.com/getlantern/lantern
18-like weapon in the developer's Mac computer