PHP怎么过滤换行,Python的优势和缺陷是什么?
首先感谢邀请,目前Python可以大致分为Python2和Python3。
针对Python的优势和缺陷网络资料
python语言的优势
⑴作为初学python的科班出身的小白,python非常简单,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
⑵易学。python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。
⑶Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python希望看到一个更加优秀的人创造并经常改进。
⑷可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
⑸在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
⑹Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
⑺ 可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
⑻丰富的库。Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
⑼ Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。
⑽规范的代码。Python采用强制缩进的方式使得代码具有极佳的可读性。
python语言的缺陷
很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。(对很多用户而言这也不算是限制)
⑴运行速度,有速度要求的话,用C++改写关键部分吧。不过对于用户而言,机器上运行速度是可以忽略的。因为用户根本感觉不出来这种速度的差异。
⑵既是优点也是缺点,python的开源性是的Python语言不能加密,但是目前国内市场纯粹靠编写软件卖给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。
⑶ 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
Python版本大致可以划分为Python3.x和Python2.x版本,他们的区别比较明显。参考网络资料http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html
1.性能方面
Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可
以取得很好的优化结果。
Py3.1性能比Py2.5慢15%,还有很大的提升空间。
2.编码
Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:
>>> 中国 = 'china'
>>>print(中国)
china
3. 语法
1)去除了<>,全部改用!=
2)去除``,全部改用repr()
3)关键词加入as 和with,还有True,False,None
4)整型除法返回浮点数,要得到整型结果,请使用//
5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量
6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数
例如:
2.X: print "The answer is", 2*2
3.X: print("The answer is", 2*2)
2.X: print x, # 使用逗号结尾禁止换行
3.X: print(x, end=" ") # 使用空格代替换行
2.X: print # 输出新行
3.X: print() # 输出新行
2.X: print >>sys.stderr, "fatal error"
3.X: print("fatal error", file=sys.stderr)
2.X: print (x, y) # 输出repr((x, y))
3.X: print((x, y)) # 不同于print(x, y)!
7)改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError而不是返回随即的 bool值
8)输入函数改变了,删除了raw_input,用input代替:
2.X:guess = int(raw_input('Enter an integer : ')) # 读取键盘输入的方法
3.X:guess = int(input('Enter an integer : '))
9)去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了
10)新式的8进制字变量,相应地修改了oct()函数。
2.X的方式如下:
>>> 0666
438
>>> oct(438)
'0666'
3.X这样:
>>> 0666
SyntaxError: invalid token (<pyshell#63>, line 1)
>>> 0o666
438
>>> oct(438)
'0o666'
11)增加了 2进制字面量和bin()函数
>>> bin(438)
'0b110110110'
>>> _438 = '0b110110110'
>>> _438
'0b110110110'
12)扩展的可迭代解包。在Py3.X 里,a, b, *rest = seq和 *rest, a = seq都是合法的,只要求两点:rest是list
对象和seq是可迭代的。
13)新的super(),可以不再给super()传参数,
>>> class C(object):
def __init__(self, a):
print('C', a)
>>> class D(C):
def __init(self, a):
super().__init__(a) # 无参数调用super()
>>> D(8)
C 8
<__main__.D object at 0x00D7ED90>
14)新的metaclass语法:
class Foo(*bases, **kwds):
pass
15)支持class decorator。用法与函数decorator一样:
>>> def foo(cls_a):
def print_func(self):
print('Hello, world!')
cls_a.print = print_func
return cls_a
>>> @foo
class C(object):
pass
>>> C().print()
Hello, world!
class decorator可以用来玩玩狸猫换太子的大把戏。更多请参阅PEP 3129
4. 字符串和字节串
1)现在字符串只有str一种类型,但它跟2.x版本的unicode几乎一样。
2)关于字节串,请参阅“数据类型”的第2条目
5.数据类型
1)Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long
2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:
>>> b = b'china'
>>> type(b)
<type 'bytes'>
str对象和bytes对象可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互转化。
>>> s = b.decode()
>>> s
'china'
>>> b1 = s.encode()
>>> b1
b'china'
3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有
dict.has_key(),用 in替代它吧
6.面向对象
1)引入抽象基类(Abstraact Base Classes,ABCs)。
2)容器类和迭代器类被ABCs化,所以cellections模块里的类型比Py2.5多了很多。
>>> import collections
>>> print('\n'.join(dir(collections)))
Callable
Container
Hashable
ItemsView
Iterable
Iterator
KeysView
Mapping
MappingView
MutableMapping
MutableSequence
MutableSet
NamedTuple
Sequence
Set
Sized
ValuesView
__all__
__builtins__
__doc__
__file__
__name__
_abcoll
_itemgetter
_sys
defaultdict
deque
另外,数值类型也被ABCs化。关于这两点,请参阅 PEP 3119和PEP 3141。
3)迭代器的next()方法改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法
4)增加了@abstractmethod和 @abstractproperty两个 decorator,编写抽象方法(属性)更加方便。
7.异常
1)所以异常都从 BaseException继承,并删除了StardardError
2)去除了异常类的序列行为和.message属性
3)用 raise Exception(args)代替 raise Exception, args语法
4)捕获异常的语法改变,引入了as关键字来标识异常实例,在Py2.5中:
>>> try:
... raise NotImplementedError('Error')
... except NotImplementedError, error:
... print error.message
...
Error
在Py3.0中:
>>> try:
raise NotImplementedError('Error')
except NotImplementedError as error: #注意这个 as
print(str(error))
Error
5)异常链,因为__context__在3.0a1版本中没有实现
8.模块变动
1)移除了cPickle模块,可以使用pickle模块代替。最终我们将会有一个透明高效的模块。
2)移除了imageop模块
3)移除了 audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2,
rexec, sets, sha, stringold, strop, sunaudiodev, timing和xmllib模块
4)移除了bsddb模块(单独发布,可以从http://www.jcea.es/programacion/pybsddb.htm获取)
5)移除了new模块
6)os.tmpnam()和os.tmpfile()函数被移动到tmpfile模块下
7)tokenize模块现在使用bytes工作。主要的入口点不再是generate_tokens,而是 tokenize.tokenize()
9.其它方面
1)xrange() 改名为range(),要想使用range()获得一个list,必须显式调用:
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2)bytes对象不能hash,也不支持 b.lower()、b.strip()和b.split()方法,但对于后两者可以使用 b.strip(b’
\n\t\r \f’)和b.split(b’ ‘)来达到相同目的
3)zip()、map()和filter()都返回迭代器。而apply()、 callable()、coerce()、 execfile()、reduce()和reload
()函数都被去除了
现在可以使用hasattr()来替换 callable(). hasattr()的语法如:hasattr(string, '__name__')
4)string.letters和相关的.lowercase和.uppercase被去除,请改用string.ascii_letters 等
5)如果x < y的不能比较,抛出TypeError异常。2.x版本是返回伪随机布尔值的
6)__getslice__系列成员被废弃。a[i:j]根据上下文转换为a.__getitem__(slice(I, j))或 __setitem__和
__delitem__调用
7)file类被废弃,在Py2.5中:
>>> file
<type 'file'>
在Py3.X中:
>>> file
Traceback (most recent call last):
File "<pyshell#120>", line 1, in <module>
file
NameError: name 'file' is not defined
Python相比Java的优势也有很多
1. Python作为动态语言更适合初学编程者。Python可以让初学者把精力集中在编程对象和思维方法上,而不用去担心语法、类型等等外在因素。而Python清晰简洁的语法也使得它调试起来比Java简单的多。
2. Python有一些Java没有的强大的架构,可以表达非常复杂的逻辑
3. Python有非常强大的支持异步的框架如Eventlet Networking Library,而据Java要实现这些功能就复杂的多。因此Python适合一些可扩展的后台应用。
如何快速打好Java基础?
学习是一个循序渐进的过程,是一件非常难得坚持的事情。如果真的想学Java,一定要下定决心!
这里我分享给你的Java学习线路图,希望对你有帮助:java学习线路图
这个学习线路图我分为了几个阶段,每个阶段能学到什么,能做什么,具体知识点请往下看,每个阶段知识点我都整理出来了,更适合学习!
java语言入门可掌握的核心能力:
掌握Java开发环境基本配置;
掌握运算符、表达式、流程控制语句、数组等的使用;
熟练使用Idea开发工具;
掌握Java基本面向对象知识;
掌握常用类String、ArrayList等的使用。
配套视频:
毕向东Java基础教程(适合初学者入门的Java基础视频)
java语言进阶可掌握的核心能力:
深入理解Java面向对象相关知识点;
掌握开发中常用类如集合、IO流、时间日期等操作;
掌握Java异常处理机制,熟悉Java多线程开发;
掌握网络基础知识,了解Socket原理,TCP、UDP协议;
掌握java基本语法完成单机程序的编写;
熟悉Java新特性,如Lambda、Stream流等操作
配套视频:
Java快速入门教程(Java基础班全套教程)
Javaweb可掌握的核心能力:
掌握Java JDBC、连接池操作,熟练操作mysql数据库;
熟悉web开发中常用知识如 HTML5、CSS3、JavaScript、BootStrap、jQuery等;
掌握JavaWeb开发核心技术 Servlet、Listener、Filter等;
熟悉Linux服务器,并安装开发常用软件tomcat、mysql、nginx等;
掌握同步及异步操作的JavaWeb开发,具备B/S结构软件开发能力,完成基本的JavaWeb项目;
熟悉基本的项目管理工具Maven的使用。
配套视频:
JavaWeb教程_JavaWeb入门教程|黑马程序员
项目一可掌握的核心能力:
掌握企业中最常用SSM框架开发,开发出结构清晰、可复用性好、维护方便的企业级应用程序;
掌握AngularJS框架;
掌握Spring security框架;
掌握dubbox分布式调用技术;
掌握zookeeper分布式应用协调服务;
掌握Freemarker模板引擎;
掌握全文检索解决方案;
掌握spring boot1.x框架的基本应用;
掌握CAS实现单点登录;
掌握CORS实现跨域;
掌握微信扫码支付;
掌握电商秒杀解决方案;
掌握SpringTask实现任务调度;
掌握MavenProfilel实现开发与生产环境切换;
了解电商开发中相关业务模块如商品、订单基本操作;
了解电商开发中相关术语SPU和SKU等;
积累互联网电商项目开发经验。
配套视频:
Java教程|Springmvc由浅入深教程
Java教程|Mybatis由浅入深教程
Maven教程_Maven视频教程|黑马程序员
项目二可掌握的核心能力:
熟悉基本的Java爬虫开发,掌握webmagic爬虫框架使用;
掌握httpClient的使用;
掌握spring data jpa框架;
掌握Spring boot2.x框架;
掌握Spring Cloud框架;
掌握MongoDB数据库使用;
掌握RabbitMQ消息中间件使用;
掌握Elasticsearch分布式搜索引擎;
掌握Rancher实现容器部署管理;
掌握Grafana实现服务的实时监控;
熟悉NodeJs环境,使用Npm和cnpm管理包资源;
熟悉ESlint进行前端语法校验;
熟悉axios的使用;
掌握vuejs框架的基本使用;
掌握瀑布流组件使用;
掌握前端页面分享功能的实现;
掌握企业级DevOps解决方案,熟悉Docker、Jenkins、git等;
了解spark mllib als 机器学习算法库实现智能分类;
了解DL4J深度学习框架实现智能推荐。
配套视频
2018年Vue.js深入浅出教程
深度掌握Springboot实践技术教程
微服务初级课程配套视频
SpringBoot教程_SpringBoot视频教程|黑马程序员
微服务高级课程可掌握的核心能力:
ServiceComb改造十次方项目;
了解Kubernetes作用及为什么使用Kubernetes;
会使用K8S API完成基本操作;
理解微服务引擎CSE的功能;
能够实现ServiceComb项目接入CSE;
能够实现学成在线项目接入CSE;
理解云容器引擎CCE的功能;
能够使用容器镜像服务上传镜像;
能够将学成在线微服务部署到CCE;
能够测试微服务治理常用策略;
能够理解Mesher的作用;
能够完成学成在线使用Mesher接入CSE。
视频未更新,更新后上传
框架架构高级
可掌握的核心能力:
能够理解ORM框架;
使用Socket进行系统之间通信;
掌握在Java中开启多线程的三种方式;
掌握使用Netty实现通信;
掌握Netty常用的传输方式及ByteBuff的使用方法;
理解及时通信框架的架构;
掌握Protobuf数据格式及在Java中应用Protobuf;
掌握使用Netty实现服务端、客户端;
理解虚拟机client与Server的运行模式;
学习垃圾回收的算法;
掌握jps、jstat、jinfo、jstack、hprof等命令的使用;
掌握图形化监控工具JConsole工具的使用;
掌握Mission Control虚拟机诊断工具的使用;
掌握压力测试工具JMeter的使用;
掌握调整参数测试Tomcat的性能;
掌握“双亲模式”的原理以及解决方案。
好客租房项目可掌握的核心能力:
能够实现房源信息更新的通知;
实现用户信息、房东、审核等功能;
能够实现API文档与模拟数据接口开发;
能够实现收藏、分享、举报、联系房东、预约看房、在线签约功能;
掌握微信小程序开发;
实现日志数据的清理以及推荐。
大数据转型Hadoop3
做了78年的java后端?
哈哈哈,的确现在学Java的人太多了,所以导致Java人才过剩。翻一翻编程语言排行榜,Java虽然这几年被Python给挤下去了,但是还是常年在前三名徘徊,可见Java是多么地吃香。
但是用Java的人多,不代表和你竞争的人就越多,尤其是做了七八年的Java了,其实优势还是存在的。
Java和C#一样,属于面向对象的进阶版本,什么继承、封装、多态等等。不是说C++没这样的特性,只不过C++的代码,对于一个长期写Java的人来说,接受起来可能有点困难。
C#和Java实在太像了,当初教我们编程的老师曾经说过一段话:“如果你先学的C++,再去学C#或者Java,你会发现C#和Java简直太简单了。但是如果你先学的C#或Java,再想去学C++,你会发现你会越学越难受!”。
C#和Java的语法和C++有很大差别,但不得不说,C++程序写好了,程序的运行速度和处理速度会优于C#和Java。C++对于内存和性能的处理还是挺好的,这是很多大厂还在用C++的原因。而像C#和Java这种对“深度封装”的语言,用起来就比C++要容易得多,但是弊端就是很多程序员在写代码的时候,就基本不去考虑C++代码需要考虑的事情,就比如说内存托管这块的知识。
所以,既然做Java那么久了,就别转行了,尤其是已经30岁了,可你如果作为一个C++新手,薪资就比不上你在做Java时那么高。等你好不容易掌握了C++语言的特性,刚准备好好通过自己的技术来提高自己的薪资待遇时,发现你已经迈进了35岁这个坎。
如果继续做Java,等你35岁的时候你至少就有12年的Java底子。即使可能存在被“优化”的风险,但核心竞争力是在那得。
总结一下,就是不建议转行,如果想学C++,可以在工作之余去学。
四十岁转行学编程还来得及吗?
你好,经历了10年职场生涯的人,我今年31了,比你小点,我想您的经历也很丰富,40岁转行做编程我觉得不合适。
首先,在年龄上,就是个问题,编程工作基本上需要长期坐在电脑前工作,时间上会很长,这个对于体力脑力都是个考验。
其次,换行做编程,意味着重新跨入一个新的行业,工资水平不会太高,相当长的一个时间内,因为需要从基层学徒做起,工资不会太高,生活质量肯定会有影响。
最后,就是四十,您肯定也结婚了,基本上处于一个上有老,下有小的年龄,需要您挣钱养家,在这个年龄段,一系列问题,都摆在眼前,需要综合考虑,才能作出决定。
第五,隔行如隔山,编程行业您之前肯定也不是太懂,选择一个新的行业,所以,对于一个的行业跨进去还是挺难的,与其转入一个不熟悉的领域,为什么不在已有的领域做大做强呢。
综上所述,还是不建议您转行做编程
广州html5网站开发学习要多久?
什么是HTML5HTML5 是最新的 HTML 标准。它是专门为承载丰富的 web 内容而设计的,并且无需额外插件。HTML5拥有新的语义、图形以及多媒体元素。它提供的新元素和新的 API 简化了 web 应用程序的搭建。除此以外,HTML5 是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。
所以只需要大概两个多月的时间就可以学完HTML5。
但是只学HTML5的话,就业就会很困难了。至少要再花时间掌握 CSS 和 JavaScript:
CSS:层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 [1]
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力
JS:JavaScript(简称“JS”)的前身是LiveScript语言,它 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
就业前景1.H5 web前端工程师
这个岗位主要负责的产品是网页界面部分。所需要掌握的技术有:
html、css、js即可完成
为提高开发开发速度,会配合使用css和js框架
css框架(bootstrap,FontAwesome...)
js框架(jQuery、Vue.js、React.js、Angular.js)
2.H5服务器后端工程师
这个岗位主要负责的是服务器部分。所需要掌握的技术有:
web前端工程师所需的所有技术(至少要会html,css和js)
js框架
Node.js
Node.js的框架的框架(express.js、mysql.js)
数据库技术(以下至少一种数据库,常常是混合使用)
MySQL、MongoDB Documentation、redis
中有一些数据库方面的专家,比如@网云技术,可以多看他们的技术文章和订阅他们的专栏深入学习。
3.H5移动设备开发工程师
手机应用开发工程师, 又叫手机APP工程师,主要负责的是APP应用软件的开发。
所需掌握的技术有:
做界面html、css、js即可完成
为提高开发开发速度和难度,会配合使用css和js框架
–css框架(bootstrap,mui,FontAwesome)
–js框架(jQuery、Vue.js、React.js、Angular.js)
–操作手机本身的功能(联系人、摄像头、传感器、二维码扫描等...)js即可完成,为提高开发开发速度和难度会选择使用js框架(HTML+、ReactNative、vueMit、IoNic、Cordever)
4.微信小程序工程师
这个岗位主要负责的产品有微信小程序应用程序和微信小程序游戏程序等。所需要掌握的技术有:html, css, js。
常用的开源HTML编辑器HBuilder
(https://www.dcloud.io/)HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。
它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。
快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率
Aptan Studio 3
(http://www.aptana.com/)Aptana这个HTML5编辑器是一个开源的开发工具,支持开放的Web开发。开发者可以使用单一的设置来测试他们的Web应用程序。Aptana支持大多数现代浏览器技术,例如HTML5,CSS3,JavaScript,PHP,Ruby Rails,Ruby,和Python。其功能包括JavaScript代码提示,HTML,GIF的融入,IDE自定义,和操作向导
BlueGriffon
(http://bluegriffon.org/)作为新一代的一代HTML5 编辑器,BlueGriffon所提供的全新的所见即所得(WYSIWYG)的内容编辑是由为Gecko提供的技术支持(Gecko是火狐引擎服务提供商)。BlueGriffon是可以免费下载的,它同时支持Windows,Linux和MAC OS X三个平台。它可以帮助你制作和编辑所有的HTML5以及HTML5文件。用户可以很容易地制作网页和工艺精细的UI用户界面。不得不提的是,这个编辑器支持包括中文在内的9种语言.
Maqetta
Maqetta作为一个开源项目同时也是一个html5的编辑器。Maqetta应用本身用HTML5/Ajax编写,因此运行在浏览器中不需借助额外的下载和插件。这个编辑器的功能可谓是多种多样,包括开发和设计工作流、网页可视编辑,WYSIWYG可视化页面编辑、拖曳式移动UI设计、设计或源码浏览同步编辑、线框图、主题编辑器和窗口小部件、JavaScript库,等等。 Maqetta支持几乎所有最新的浏览器其中包括:谷歌Chrome,火狐, 和苹果的 Safari.
notepad++
Notepad++ 程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等。内置支持多达27种语法高亮度显示(包括各种常见的源代码、脚本,能够很好地支持。nfo文件查看),还支持自定义语言。
ditPlus
EditPlus一套功能强大,可取代记事本的文字编辑器,拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能。而它还有一个好用的功能,就是它有监视剪贴板的功能,能够同步于剪贴板自动将文字粘贴进 EditPlus 的编辑窗口!
FCKEditor
功能强大, 加载慢. 在很多地方使用广泛, 比如CSDN的blog就是使用的这个. 功能也可以定制. 也支持多种浏览器, 遵循LGPL版权. 目前最新版是2.0.
TinyMCE
界面相当清新, 适合素雅主义使用, 功能比较强大, 不逊色于FCKEditor, 但是加载速度委实比较慢, 支持多种浏览器, 使用LGPL版权, 目前最新版本是2.0.
希望我的回答能够帮到您!