I need to develop multi-user web site which also should be able to run locally (on Windows) for a single user. I'd like to use the same code for both sites. Local copy should work without installing any software, source code shouldn't be available, and web browser should be integrated into application. I may use SQLite as local database and I want to use ExtJS as front-end.
I'm aware of 2 products for PHP that claim to do this, but I'm not sure yet that they will work with the tools I'm interested in (ExtJS and Kohana PHP).
I know that Haskell provides such option, but I don't want to go that far :).
Flex doesn't seem too promising (at least what I remember), as its UI-building capabilities are limited, and I'd like to have online version in HTML, not in Flash.
Are there any other technologies available (.NET, Ruby, Python, etc.)?
Well, you can use PHP itself. It's not the neatest solution available, but you can use php-win.exe to avoid command-line popping out. You can then use some source obfuscators or byte-code compilers to avoid revealing source code. And AFAIK PHP works without instalation (it can run out of a directory if it has all the required files in it)
As I said, not the neatest solution, but will probably meet your requirements.
Are there anyone who can help me out on how to connect a codeigniter-application with couchDB?
I have tried to find drivers or libraries, but without any success. What can I do to make it work?
Thanks!
Well, CodeIgniter just means PHP -- which means that any library that's written in PHP should do the trick, even if it's not specifically written for, or part of, CodeIgniter.
For a list of PHP libraries to communicate with CouchDb, you might want to take a look at this page of the official CouchDb's wiki : Getting started with PHP
Everything that's said there should work fine with CodeIgniter -- I don't see why it wouldn't.
Of course, you could also write your own communication layer -- shouldn't be that hard, as it only means a couple of REST requests...
... But I wouldn't do that, if I were you : using a well-known library means you'll be using code that's already been tested and fixed -- which means less risks of bugs, and less maintenance work for you.
I don't seem to be able to comment on answers (which I would do if I could; this is a bit much for answering a question made in a comment to an answer)
I think CouchDB comes with a web interface that you can access it (on ubuntu linux anyway) by pointing your browser to http://localhost:5984/_utils/
I'm somehow familiar with the ASP.NET MVC and the .NET framework in general (I use it at work).
I've been thinking about starting a personal project (a website). I, however, don't want to be tied to a specific platform (it bothers me A LOT).
This led me to looking into Mono. For what I've seen, though, Mono trails behind Microsoft's .NET in some aspects that are crucial to me (or that I would really like to have available). Some of these are:
LINQ to SQL. The Mono team just now (Mono 2.6) released support for LINQ with help from the DBLinq project. The problems are that DBLinq's main test platform are MS SQL SERVER and SQLite. It seems to me that PostgreSQL and MySQL are a bit abandoned. Also, LINQ to SQL has just been implemented and thus it makes me think when it will become mature.
Hosting of Mono on Linux. Very few of these are available.
Also, I want to be prepared to handle heavy-duty processing on the server (this is a main issue), and Twitter's experience makes me drift away from Ruby on Rails, but if you can prove RoR scales weel (please, show benchmarks/facts and not opinions) I'd be willing to try it.
Should I take my time learning a different web framework, or should I rely on Mono's advances and hosting options for the near future (1~2 years) on platforms other than Windows/SQL Server.
In terms of scalability, I tend to think that C# has an inherent aspect of scalability (strongly typed and ByteCode instead of parsed/interpreted). Am I wrong to think like that?
Are there ways to work with other frameworks in ways that the code won't be hosted on the server (I accept python/ruby/anything VMs and others)
This is an old question so I may be answering more for others than for the original poster:
Hosting
If you write in Mono, you can host on Windows, Mac, or Linux (or Solaris, FreeBSD, and others less dependably). If you are going to host on Windows though, why not just run your Mono app on the real .NET?
Why do you care if it is hosted on Mono if you are not hosting it yourself? You can certainly write an application on Mono using Windows, Linux, or Mac and then host it on a Windows/.NET host if those are the cheapest and easiest to find. Just think of .NET as the MS implementation of Mono.
I had the opposite problem originally. I wanted to host on Linux even though my employer provided a Windows dev environment. I developed in .NET and hosted on Mono/Linux. Mono worked excellently for me in this way.
My current employer is Mac crazy. I just deployed an ASP.NET MVC2 app to our Mac server yesterday. I wrote the whole thing on my MacBook Pro without touching Windows once.
My favourite host for running .NET/Mono on Linux is Linode. The cheapest plan is $20/month but I can host as many apps on the same server as I want. The performance is excellent so anything that is going to run well on a $5/month host is going to run just fine as one of four apps on a Linode instance that is for sure.
Compatibility with .NET
I find it is best to think of Mono as a platform itself rather than as a compatibility solution for your Microsoft apps. Mono supports almost the entire .NET framework. I love this because it is a great framework but I do not really care that it is MS compatible most days.
No offence, but I do not understand at all your implication of "Mono does not support LINQ-to-SQL to my satisfaction so I am considering Ruby-On-Rails". Mono supports LINQ-to-SQL a lot better than Ruby does I will tell you that. You could say that you are sticking with Windows only because you really need LINQ-to-SQL though I suppose. What is more important to you, "cross platform" or "LINQ-to-SQL"?
Mono gives you many choices for data access. If you want an ORM (Object Relational Mapper) like Rails offers then you could go for something like NHibernate, Subsonic, or Castle ActiveRecord for example. With Mono 2.10 you can even use WebMatrix Data. Of course, you could also use good 'ole ADO.NET which is what all this stuff is built on top of anyway.
Oh, and let's not lose site of the fact that Mono does support LINQ-to-SQL. I have only ever used it with SQLite where it worked fine. I agree that it has lagged .NET though. You are probably worried about Entity Framework support now. See my comments above.
To my mind, the question is how does Mono data access compare to Rails data access. My answer: Rails is a bit better integrated (simpler) and Mono is much more powerful and flexible.
Heavy-duty processing
This is where .NET and Mono are really going to shine.
You are correct to think that compiled bytecode is going to be much faster than interpreted code and that static languages like C# will be faster than dynamic languages like Ruby. Of course, everything is implementation dependent in the end.
I also agree that a static language like C# aids scalability in other ways. This is really a matter of personal opinion though. There are certainly people that think that authoring and maintaining a massive solution in a dynamic language is feasible. I do not see many people doing that of course. There is a reason that .NET and Java are the enterprise standards.
Bottom line
Should you learn another web framework? Well, I think you should. It is good for the mind.
Is that other web framework a superior choice to Mono or .NET? Well, it depends on the need of course. I think that Rails folks probably pump out the sites a little faster than the .NET crowd in general. The gap has really closed with ASP.NET MVC2+ though and I would much, much rather maintain and scale a .NET solution than a Rails one. Also, I like C# just fine so I do not find Ruby itself so intrinsically satisfying that I just have to use it. That is just me of course.
Also, just me, but I find Mono to be an excellent cross platform web development framework. I choose it everyday over other solutions. I also find that Mono fits into the majority of the .NET ecosystem (especially the Open Source universe) just fine. Again though, if what you really want is to use the very latest and greatest MS stuff and are hoping that Mono will allow you to run that on Linux or Mac sometimes then you may be disappointed.
If Windows Presentation Foundation (WPF), Entity Framework, or to a lesser extent LINQ-to-SQL are the most important part of your application strategy then Mono is not for you.
If you want a platform that gives you all the great advantages of .NET and runs pretty much everywhere you need it to then Mono is pretty damn hard to beat.
Some years ago I used to program in VB6, I really liked it because it was very simply and fast, when VB.net came out, I abandoned it because they changed a lot of things.
I wonder if after all this years there's a new language or IDE that helps programming in an easier and faster way than VB6.
I'm not very interested in academic/personal issues like, very high performance, great movility through OSs, open source, etc. I would like to know if there's is something to program small and medium desktop apps. in an very easy and fast way.
Excuse me if my english isn't very clear.
Edit answering Nicholas:
Well, I must admit that I didn't try VB.Net too much, I was a little disappointed because I would had to learn a lot of new things and I've had learned VB6 not so long before (in that moment).
VB.Net is the natural progression of VB6, and has a lot of free tools and resources online to get started. Microsoft even provides a free development environment as well as a free database for development/bundling in your applications.
Check out this website for information and download links on all the free Microsoft software.
Also, you said you tried VB.Net and didn't like it-- I'd be curious to know why? Yes, there's a little learning curve, but the abundance of getting started information on the internet surely can help that. I was a bit overwhelmed by .NET at first (particularly ASP.Net) not seeing the value in switching/learning a new language.
I always felt Microsoft Access was far and away the best for this kind of requirement.
edit - I realize this isn't a politically correct answer. But the total package of a built in DB, a great GUI development package, a great report generator (far superior to crystal reports, for example), the easy development of tables and queries, all put in one friendly package, make it nearly trivial to develop with. For rapid development, it's the best I've used.
FWIW, I do Java, C++, C, VB4/6, ASP, JSP, Perl, PHP, CSS/ DHTML, JavaScript, Pascal, Fortran, Kenemy and Kurtz Basic, BAL, unix shell scripting, Oracle, mySql, RPG III, COBOL, some proprietary stuff, various macros, various distributed technology, Job control language, CPL, etc. etc. I got out of developing in Access because of scalability limitations.
Powerbasic may be to your liking -
http://www.powerbasic.com/
One of the easiest languages to learn and use is Python.
FLEX / AS3 / MXML / AIR (tnx le dorfier) comes very close to that VB6 feel from many years ago. But understands stuff like CSS and produces output that works in browsers on any platform (or desktop with AIR). You write code and run it, the coding cycle is very fast. And AS3 is at least as powerful as VB6 ever was, plus there are myriad add-ons and libraries to support all sorts of applications, all the major web-services, database interface, animation, video, 3D, auto-generation of PHP code, etc.etc.etc...
And Flex Builder 3 is free for students and educators.
alt text http://www.infoworld.com/infoworld/img/17TC-adobe-flex-builder.jpg
Python or Ruby.
Dynamic languages has a number of advantages (and disadvantages) but for what you propose they seem perfect.
I would recommend python or ruby bindings of a high level toolkit as a perfect environment. For instance Qt library gives most functionality you would need and dynamic languages let you easy experimentation
Microsoft has a new dialect of BASIC called Small Basic. From the website:
Small Basic is ... a small and easy to learn
programming language in a friendly and
inviting development environment,
Small Basic makes programming a
breeze. ...
Small Basic derives its inspiration
from the original BASIC programming
language, and is based on the
Microsoft .NET platform. It is really
small with just 15 keywords ...
The Small Basic development
environment ...provides
powerful modern environment features
like Intellisenseā¢ ...
The first two versions of VB.NET had serious shortcomings compared to Visual Basic 6. However most of these issues has been fixed since Visual Studio 2005. Today, for new projects, I feel that everything that made VB6 so easy to use is available with VB.NET plus you get new language constructs, and the .NET framework. There also refactoring, and the VB Power Pak which brings back the older simple to use print engine.
Of course there is a learning curve involved. But no more than the leap from QuickBASIC/PDS to VB 1. If you have to maintain or transfer an older project then the differences between VB6 and VB.NET are much more serious.
Finally there is the Mono Project which support the VB compiler. This provides a degree of relative immunity from Microsoft deciding to break backwards again.
You could try FreeBASIC.
It's syntax is very similar to that of VB and it is an actively worked on open-source project, it is also portable across different platforms.
You can grab a download here and there are several exemplary works that can be found here.
If it already wasn't done I'd recommend python. It's one of the easiest languages to learn.
My first language was Pascal and I think it's also one of the easiest languages and with Delphi getting popular again I think it's a very good alternative to VB6.
I've always found Delphi to be easier than VB despite popular belief.
take a look at Lua
very small core language, the whole documentation is a single (very readable) webpage. you can easily learn the basics in a weekend.
very good (small) books with good tips.
very helpful community.
very fast, both with the standard bytecode VM, and the JIT.
used a lot in games, both because it's fast and easy to embed in the application, and because it's easy to explain to players interested in extending the game.
readable sources.
MIT license, use for whatever you like, no strings attached.
Perhaps Clarion is what you're looking for? Personally, I don't have much experience with it, but you can build some nice apps with virtually no coding skills.
I think C# is a very good language to program GUI apps quick and easy.
While this might not be a complete answer to your question, I would recommend spending some time learning a more complex language (Objective-C, Java, C#, etc). With the experience you learn with OOP design patters etc, in the future you won't have to shop around for the "easiest" language to program with.
visual basic.NET is much more easier and have complete features than VB6 as I've experienced.
I recently messed around with Microsoft Lightswitch and found it extremely VB like. Very fast for binding to a database and generating forms, grids, etc.
More than 10 years after this question was asked, the best answer is...
...to continue using the VB6 programming language.
VB6 still works on Windows 10 and Windows Server 2019. Just as it has since Windows 98.
Microsoft's support policy for VB6 is here VB6 support policy
I need to compile a wmi vbscript to executable (to automate configuration in several computers). Any free vbscript compiler or any other suggestions?
One thing I would be especially concerned about in doing this is you must really trust the product that is compiling the script. After all, what better way to embed a virus or worm than to offer a free compiler that compiles your VBScript into an unreadable executable.
Currently, the best known opensource client side vbscript is baleas2.
If you are talking about server side vb like scripting, then the option list is very big as follows: instant-asp (ib4j-tomcat, java), rbsp (realbasic-server-pages), pbsp (purebasic-server-pages), run-basic (libertybasicscript), and so on with almost all the completely developed commercial alternatives to vb.
Regarding other windows based opensource basic variant in the area of basicwebscripting currently are maven-sb4j, scriptbasic and gbs3 (gambas server pages). Then freebasic server pages may soon be yet another option in the future (after development for curl and proxyserver / fastcgi support).
You may also try using maven-sb4j for jbasic, jabaco, scriptbasic-japi and yabasic-japi.
Try http://www.xneat.com/application-builder/index.htm
looks trusted
ok that's interesting i guess, and I fully understand your point!
you can use the WSH Encoder here (Windows Script Host), it's for free you can encrypt your scripts and this way no one can read them (just the not curious ones!)
and if you are looking for some strong and hard work also encryption you can try this book here
Try vbs to exe. It's command line but works fine.
http://www.f2ko.de/programs.php?lang=en&pid=v2e