谈谈自己做共享软件的经验和交流下国内共享软件的突破口(1)

做共享软件业算起来也有5个年头了,还记得起初是给朋友做的一个送水软件,后来由于某种原因,没有继续合作下去,自己想想做的东西放在那里也是浪费,就修改下作为共享软件作为发布,那时候是2004年,还在学校读研究生课程,时间和热情都是很多。

万事开头难,起步总是很困难,需要处理的事情有很多,如哪里可以上传文件给下载,软件要做好帮助文档,安装要方便,如何推广等等,还有就是如何控制注册等。

1)软件我提交到了华军、天空下载网站,然后自己也申请了一个域名,做了一个网站介绍的。

2)帮助文档没有做过,重新学习如何用HTML HELP Workshop来做帮助文档了,当然也要会使用Hypersnap来截图,DreamWeaver制作网页了。

3)做安装包以前开始也不会,也一步步查资料学习,总算做的还可以,当时好像很开心,毕竟觉得又学会了一些技巧。

4)控制注册就比较麻烦了,开始是用很简单的密码方式,把客户的机器硬件信息(如硬盘序列号、网卡序列号、CPU序列号等)找出来,我当时只是把硬盘序列号拿来用,简单变换下就作为注册码了。现在一般用非对称的加密方式,且一般不用硬盘序列号了,因为格式化了就变了。另外还需要控制用户使用了多久就需要注册才能使用的,这个我找了很久才搞定。

5)然后就是软件的宣传了,可以通过一些论坛或者网站去发表广告信息,增加用户的了解,推广自己的产品。

由于当时送水软件采用.net做的不多,因此他们的界面做的都不太好看,我的好像还不错,呵呵,虽然那时候用的是VS.net2003开发的。

几个月后,软件卖出去了一份,400元,吉林某学校的后勤部,当时收到款狂喜,毕竟是第一桶金,而且当时没有太多的经济来源,现在几百块就没有当时那么开心了。

从此之后,对做共享软件慢慢有了兴趣,特别对代码生成有兴趣,然后研究做了一个SharpCode的东西,能够支持Oracle、SqlServer、Access的数据库的代码生成器,当时是在代码硬编码模版的,做法比较生硬,不过伴随新共享软件的开发,学了不少的知识,如各种数据库的操作和语法需要掌握,记得当时自己机器是没有Oracle,因为自己的配置比较低,只有在导师安排的机器上才有,以及后来在外面干活的时候也有,就逐渐把Oracle的数据库操作和PL-SQL语法也学的差不多了,另外也涉猎了更多的技术。这时候已经到了2005年间了,期间还没有毕业的时候,在外面全职打工,接触了一个C#编写的Winform项目,给了我很多帮助,从中吸收了不少精华代码。

开始做共享软件的时候,也梦想过做国外的软件市场,特别了解了很多相关的讨论,印象最深的是关于周宏伟(不记得是不是这个名字了)的故事,就是目前安全卫生360的老板,当时听说在国外卖共享软件赚了不少,也梦想有这一天,这种机会。因此把自己的软件界面修改了英文的,安装也做成英文的,网站了做了英文版,了解了几个国外的下载网站等,因为找不到门路,也不知道如何操作,尝试得到的是失败。

送水软件和SharpCode偶尔都能卖到一些钱,由于SharpCode是面向开发的,开发人员要掏钱很难,因此没有多少这个软件的收入。

后来自己迷上了代码生成工具的开发,一个是原有的SharpCode不能满足我开发软件的需要,第二是想学习NVelocity这个模版引擎,因此就诞生了Database2Sharp这个代码生成工具,这个是基于模版的,有时候我修改下模版就可以了,不用重新编码。

这个软件是我共享软件的一个里程碑,因为这个软件集合了我太多的期望和技术,而且也是我日常用的最多,修改时间最多的一个,随着参加各个公司项目,项目经验和技术积累越来越多的时候,我就把这些东西加入到我的软件中,更好的辅助我开发。后来我所有的共享软件开发或者公司中的软件开发,不管是Web的还是Winform的,都采用这个工具来辅助开发,效率提高了不少。

Database2Sharp逐渐得到更多的人认可,我偶尔也收到了来自开发人员的褒奖和资助,最重要的,这款软件在我任职的一家公司吸收并采用,并因此获得了年度奖项和奖金,比较惬意。也算是一种认可吧。这个时候主要是完善自己的送水管理软件和这款Database2Sharp软件了,这个是06~07年的事情,期间主要以项目开发为主,比较少开拓新的共享软件了。

本文转自博客园伍华聪的博客,原文链接:谈谈自己做共享软件的经验和交流下国内共享软件的突破口(1),如需转载请自行联系原博主。

时间: 2024-10-26 18:53:16

谈谈自己做共享软件的经验和交流下国内共享软件的突破口(1)的相关文章

微信系统做星座分析的朋友介绍下经验

问题描述 微信系统做星座分析的朋友介绍下经验 微信系统做星座分析的朋友介绍下经验:请问在微信中如何实现自动读取qq信息中的星座血型? 解决方案 http://blog.csdn.net/yueqinglkong/article/details/25237351 解决方案二: 在微信公众平台做HTML 5游戏的一些经验

谈谈我做女性站的经历

摘要: 大家都知道女人的钱好赚,但是具体是怎么个好赚法.估计很少人真正了解.其实女人爱美,花钱买漂亮这个是谁也控制不了的.而且女人虚荣心强,购买欲也强.赚她们的钱其实不难 大家都知道女人的钱好赚,但是具体是怎么个好赚法.估计很少人真正了解.其实女人爱美,花钱买漂亮这个是谁也控制不了的.而且女人虚荣心强,购买欲也强.赚她们的钱其实不难. 但是真正会赚女人钱的站长却不多,为什么这样说呢?因为之前我也做过女性站,和很多一起做女性站的都做过交流.我问他们为什么会选择做女性站?他们大致的回答都是女人的钱好

有没有做airkiss开发的,交流一下技术啊

问题描述 有没有做airkiss开发的,交流一下技术啊 解决方案 解决方案二:airkiss刚开始学习,一起交流

dblinq做的小站,帮忙测试下速度

问题描述 www.528m.cndblinq+2008做的小站,帮忙测试下速度mssql太贵之前用nhibernate的,速度确实是个问题.很烦恼他的配置.所以只能够用dblinq了.dblinq功能少,好多linqtosql的功能都没有实现.dblinq+sqlite欢迎交流 解决方案 解决方案二:用了rulrewirte.net映射为html文件的时候,没有反应,看了点资料,要在iis里面设置.虚拟机上不可能给我乱搞的.不知道各位兄弟怎么如何rewirte到html而不用设置iis.解决方案

线上市场做大后延伸到线下,是对原有市场的一种扩充

既能提高品牌知名度,又可以"两条腿"走路.但"试水"线下仍需谨慎,毕竟实体店要面临成本以及管理等多方面问题 随着电子商务技术的不断发展,众多传统服装品牌通过网络平台进军线上市场,优衣库.无印良品.ZARA 等知名品牌纷纷进驻天猫.当当.京东等电商网站. 然而,快时尚女装品牌韩都衣舍却反其道而行之.这个号称山东最大的电子商务公司的企业如今走到了线下,首家线下实体店已试营业近20天. 10日,山东韩都衣舍服饰有限公司董事长兼总经理赵迎光,在公司总部接受经济导报记者采访时

python做爬虫时,如何获取下一页的html?

问题描述 python做爬虫时,如何获取下一页的html? 具体网址http://data.10jqka.com.cn/market/yybhyd/![图片说明](http://img.ask.csdn.net/upload/201603/09/1457522333_494323.png) 解决方案 分析网页数据,提取链接先做了再说. 解决方案二: 遍历页面内容中的tag a等内容 然后循环爬出下一层 解决方案三: 一般都通过一个当前页面整数作为请求参数,每次访问的时候递增这个参数就行了 解决方

mvc-MVC和wcf没有任何项目经验的情况下,怎么快速上手?

问题描述 MVC和wcf没有任何项目经验的情况下,怎么快速上手? MVC和wcf没有任何项目经验的情况下,怎么在新工作中快速上手? 解决方案 code.msdn.microsoft.com上有例子程序,下载下来看. 解决方案二: 我觉的可以网上啊github上面找点人家开源的写的不错的项目来看看,或者去那些在线学习平台上面看看视频,我觉的看视频学习还是很快的 解决方案三: 看已有代码,改写,然后自己写

代码分析-做一个圆在按键按下后向右移动,放开后停止。每秒刷新一次。功能不对求教

问题描述 做一个圆在按键按下后向右移动,放开后停止.每秒刷新一次.功能不对求教 代码如下. void CHomeWorkView::OnTimer(UINT_PTR nIDEvent){ if (nIDEvent == 102) { Invalidate(); } CView::OnTimer(nIDEvent);} void CHomeWorkView::OnKeyDown(UINT nChar UINT nRepCnt UINT nFlags){ CDC* pDC=GetDC(); CPoi

gnuradio-c++ 利用fftw做傅里叶变换报错 linux系统下运行

问题描述 c++ 利用fftw做傅里叶变换报错 linux系统下运行 报错信息 fftw: alloc.c:269: assertion failed: p #include <fftw3.h>namespace gr { namespace howto { peak_extract::sptr peak_extract::make(int upper_limitint lower_limitint samp_ratebool boolean_timer) { return gnuradio: