What all is involved if I wanted to switch from PHP to asp.net? I have basicly no knowledge of asp or other languages besides php and some javascript.
What would be the best place to start learning more?
What is needed to host an asp site?
What is it developed with?
Is there an equivalent to php.net for a resource?
I think a good place to start would be to take one of your existing PHP projects, and rewrite it in ASP.Net. That way you wouldn't really be tasked with coming up with something new, and learning a language at the same time. However, don't just try to do a line by line conversion. ASP.Net has a much different programming model than PHP. So you'd be much better off looking at the end product, and trying to produce the same thing, without necessarily producing the same code.
google asp.net c# tutorial. seriously
download ms VS express edition(free) http://www.microsoft.com/express/vwd/
do a project. nothing like learning on the job
I did this switch several times. If you have good grasp of OO and the most common design patterns, you won't have too much of a problem to grasp the dot.net languages.
b.t.w I really REALLY suggest you consider only C#.
Best way to start is take a Wrox book and start learning it. Do not start directly from asp.net, but rather from console applications.
The book will show you how to install a development environment, which is an inseparable thing from the dot.ent env.
If what the book suggests is not the MS express environment, I suggest you use Express.
As far as something like php.net, well, MSDN is by far a better tool then php.net and this is from a PHP freak and ex-Zender.
To sum it up, just do the exercises in the book, it will be OK
I've written PHP web projects for several years and considered myself intermediate with PHP. I recently wrote an application (in PHP) for a company that got noticed by the programming department, and they had me transition to a job programming in C# and .NET.
My first reaction was very standoffish; I learned to program in an anti-Microsoft environment and mindset. The last thing I wanted to do was learn something in .NET.
After several months of forcing myself to learn C# and OOP I have to say it's actually a wonderful thing. At least for developing Windows applications. I'd always wanted to do some desktop applications and this has been a great way to do it.
But so far nothing has involved ASP.net, and now I have a project which requires some web output. I'm struggling with learning ASP, and the fact of the matter is I am tempted to write the web portion of it in PHP. For me, C# makes sense for Windows and OOP, but for quick data-parsing applications on the web, PHP is quick and gets the job done.
I am going to keep working on the ASP thing though, specifically looking at MVC. Another question on SO got me interested in focusing on MVC. I've been perusing books and watching tutorial videos, and so far I am hopelessly confused.
Perhaps it will be something I look back on and am grateful for having made the effort -- like learning C# in the first place. Right now, the ASP approach to web coding seems foreign, despite knowing more about C# and OOP than I did a year ago.
I made the switch from script-based server side languages (Classic ASP and PHP) to .NET a number of years back. If I recall, the hardest part was understanding the tight integration between client-side events and server-side event handling. Once that clicked the rest was just an exercise in learning new syntax (that was actually more like C++ which I learned in college).
Related
I am ASP.NET webforms developer almost 7 years experience. Have done a small ASP.NET MVC project too. Pretty clear with MVC skills
Please advise-
Do I need to learn PHP before starting to learn CodeIgniter? I would rate my skills as follows (out of scale of 1-10)
HTML 6/10
CSS 4/10
Javascript 8/10
JQuery 6/10
Database 9/10
MVC understanding 8/10
Xml/Xslt 8/10
Does it make sense to move from .NET to Linux based development?
Based on above skill set level. How difficult/easy to move into PHP field
I have 8 years of experience of PHP, and also have 4 years of experience of ASP.NET MVC.
I use CodeIgniter pretty heavily, so I think I know the answer to this question.
Yes, you need to know PHP to use CodeIgniter. It's not like ASP.NET where you can jump on it right away, you should probably know how PHP works before getting into CodeIgniter. PHP works differently than ASP.NET, biggest difference is, you don't have Visual Studios. Also, CodeIgniter MVC works differently than ASP.NET MVC, so I suggest you learn how it works before jumping into it.
Moving from .NET to Linux based development is purely based on preference. You can do everything on linux where you can do it on .NET, and vice versa. Microsoft is very competitive in terms of technology, they will always come up with new set of tools to compete with linux products.
If you have 7 years of experience with .NET, then why make the switch? PHP/CodeIgniter, like I've said, is very different with ASP.NET/MVC, especially with ASP.NET/WebForms. You will have to make a drastic switch, understand new concepts, just like how you would do when you are learning a new language.
From a programmer's perspective, learning wide, variety of languages and disciplines will make you a better programmer. If it's something that you want to learn, I would suggest try learning it with clean, blank state of mind.
Start with the basics, and broaden your expertise.
Good luck with your journey.
Hmm, I tend to think differently. I have 10 years .net experience, and that includes the web too (HTML ,CSS, Javascript) all versions, and I have been using CodeIgniter and made the jump into the php world.
The Linux world I am familiar with as I have developed Android apps. However, since the advent of ASPNET MVC, and the fact that CodeIgniter is based on the MVC structure (controllers, views and routers), the difference is minimal and is mainly at semantics level(tags etc), and in configurations of an app. However, php is server side code and as such is the same concept as in ASPNET is a mixture of client and server code too.
If you have a good grasp of MVC, and understand client/server code, adding php to you skillset can become a long term advantage. Go for it. PS: CodeIgniter makes the jump pretty easy. Oh, and go to php.net and start coding in php.
I'm Delphi developer, and I would like to build few web applications, I know about Intraweb, but I think it's not a real tool for web development, maybe for just intranet applications
so I'm considering PHP, Python or ruby, I prefer python because it's better syntax than other( I feel it closer to Delphi), also I want to deploy the application to shared hosting, specially Linux.
so as Delphi developer, what do you choose to develop web application?
Try Morfik http://www.morfik.com/
P.S.
It looked promising a few years ago, but after I digged it deeper I must admit that it's quite limited web development environment for a very basic web development.
Why should an answer be different if the question was asked by a Delphi programmer, than a programmer from any other platform? Any decent language should be fun to learn, regardless of the tool you are using right now.
That said, I myself walked a way from Borland Pascal and Delphi (quite some time ago), over PHP and ASP.NET (using C#). Right now I am working almost exclusively on Ruby (and occasionally Rails) and I am perfectly happy with it. But, then again, it's matter of personal preference: I really enjoy Ruby's pure object-orientation and functional capabilities, as well as dynamical nature of a scripting language. So, it's all up to you and your personal preferences.
Although, one thing I can surely recommend is to stick with one of the major web-players, for pragmatic reasons: PHP, Python, Ruby, ASP.NET or possibly Java. I'm sorry to say that, but I don't think Pascaloid languages have any future anymore.
If you feel like stretching your muscles, you could try out Seaside.
Seaside's a Smalltalk framework (so working with it will feel pretty much like working with Ruby) that lets you write your website just like you'd build a desktop application. You can split your code up into components that you can assemble much like you'd work with TComponents (programmatically, at least).
I agree about Intraweb, but Delphi itself is still a good language to build websites with. You could start a CGI application or an ISAPI-extesion. You could also check out http://xxm.sf.net , it's an open-source project I started that offers a few extra's:
You can mix HTML and Delphi code into the same files (much like PHP)
These files get auto-compiled to a Delphi project so you can see the results by refreshing the web-browser (much like PHP)
You can load the library with a number of 'handlers':
there's a IInternetProtocol implementation to use with InternetExplorer directly (really handy for development
there's an ISAPI extension that loads the library (and auto-updates is, really handy for updates on live-environments)
there's a stand-alone HTTP executable or NT-Service
there's even a FireFox plugin and Apache module in the making.
PHP is the best to start, but as experienced programmer you may want to look at Python, because PHP is a C style language. Python would be easier after Pascal, I think.
Take a look at examples:
On PHP: http://en.wikipedia.org/wiki/Php#Syntax
On Python: http://en.wikipedia.org/wiki/Python_(programming_language)#Syntax_and_semantics
Note, that Ruby and Python are rarely used by them selves in web-development. Usually Django and Ruby on railes frameworks are used. In PHP there are several variants. You can code from the scratch, or also use some framework.
I used to code on PHP for about five years and now started to learn Django (python based framework) and I think it's the best thing there is. Take a look: http://djangoproject.com/
Only good answer - C# ;) Seriously ;)
Why? Anders Hejlsberg. He made it. It is the direct continuation of his work that started with Turbo Pascal and went over to Delphi... then Microsoft hired him and he moved from Pascal to C (core langauge) and made C#.
Read it up on http://en.wikipedia.org/wiki/Anders_Hejlsberg
If you come from Delphi, you will love it ;)
PHP is a pretty simple answer.
One reason is there is both Delphi4PHP (the rather cryptic IDE licensed by Embarcadero which in my estimation is really only for Web Apps (not for doing whole site)s) and PHP4Delphi (the pretty awesome Delphi Component that lets you compile your Delphi code to PHP Extensions).
I'm a long-time Delphi developer myself and had to do some web work recently, I decided to use ASP.Net with Delphi Prism and found myself right at home since I didn't have to learn a new language, just a new framework.
Actually, the answer probably is ASP.NET using C#. You'll see (ex-)Borland engineering syntax that looks quite familiar coming from Delphi. To deploy on Linux have a look at the Mono project.
I have done a fairly large (4-5 FTE) project based on webhub (www.href.com). I can certainly advise this if it is a webapp for internal use.
Why is PHP the most used programming language for a web based platform?
PHP:
is easy to learn;
has been around for ~15 years;
runs fairly efficiently;
is cheap to host; and
actually scales really well (some of the largest sites on the internet use it).
PHP is basically the ultimate grass-roots success story.
PHP is:
Built for the web, that is not an extension of an existing language like Perl.
Free of any default framework; this allows it to be fairly lightweight and powerful, a good example of the KISS (Keep It Simple, Stupid) principle.
Because software that values simplicity over everything else propagates faster.
Probably because PHP is easy to learn and it was really simple at first start. With the upcoming of OOP from PHP4 we cannot really say it's simple anymore but at least it tries to keep simple.
Plus from the start the language was really Web oriented, easy access to get/post variables.
You can also note the PHP community is really wide and Zend do a great job to make it a real concurrent of Java/Dotnet/all the others.
Perl/Python/Ruby are also good scripting language but they require some libraries to develop web application
While most CGI language extensions require you to write HTML/JS/CSS within that languages syntax, PHP is able to be used within the contents of an HTML file structure. For someone who doesn't really get the concept of CGI (like I did a while back), it's really nice and offers room to grow with libraries and a universally familiar syntax.
It's also a strategic isue to
choose PHP over Java/Ruby/...
Because you will find PHP
programmers every time, but it is
really difficult to get (cheap)
Java/Ruby/... programmers.
PHP has become the third most be
liked programming language. * **
Its Open Source.
Its old and therefore very stable.
Its the best documented language in the internet.
It has the most string functions (necessary for web/HTML programming).
It has a very huge community, you will find the answer for every PHP question in the internet (or ask stackoverflow).
Its the only language which was designed for the internet.
PHP is fairly easy to install and fairly easy to understand. For that matter, you don't even have to install it. Fifteen dollars a month (or less) will get you a PHP webhost at hundreds of hosting companies.
There are no shortage of "Build a website in 5 minutes with PHP" books. Therefore, it's often the first choice to new web developers or people who want to get something done quickly.
PHP certainly has it warts, but done properly, it can be a good solution as well. Despite its warts, it runs an awful lot of successful websites.
I think it is easy to learn, it is faster, it has lots of forums, it has lots of example codes, it has ...
A lot of emerging php framework like Symfony, Zend, and Cake make rapid development, good mvc design easy. A lot of extremely popular blogging software/cms's are built using php eg. Drupal, Wordpress, and Joomla!.
I currently have a very functional customised online ordering website written from scratch in ASP. This was built approx 4 years ago, and works exceptionally well.
I need to build a similar one for another company. Do I simply upgrade and get a like product developed in ASP.Net 2.0, or do I need to do some homework on other options such as PHP, Rails, Django, Magento etc?
The new site will need to use Ajax (or something similar) and other Web 2.0 features in which I know ASP.Net can handle.
Are there other simple frameworks available to create a customised online ordering type of application? As an example, I have heard that Rails and Magento are very difficult to customise etc.
Do I use the devil I know?
If you are looking at AJAX, then rather than vanilla ASP.NET, I'd look at ASP.NET MVC; this is a much cleaner model (more logical too, IMO) - and it plays very well with jQuery for the ajax, since you have much more control over both the html and the paths.
Also, jQuery now has intellisense in VS20008, making it even more inviting.
I can't comment on PHP - but the ASP.NET MVC is at least in roughly familiar territory. But note that ASP.NET (including MVC) is a lot more than just a straight upgrade to ASP.
I think it all goes around what level of focus and resource you intend to commit to this project.
If this is a project that you'll focus on solely for the next few years, then programming it yourself makes best sense, but if this is just one of many projects that you're busy with then I'd recommend trying something like Magento.
I was faced with a similar situation and chose Magento and that decision has been ratified many times over since then. Granted, there is a learning curve at the beginning, but you cannot compare the power of community developed projects against one you'll develop sporadically yourself. There have been a constant stream of improvements to the software, including iPhone-friendly shopping interfaces and ajax interaction, all stuff that I just would not have had time to get to.
Anyway, that's just my 30c worth.
Regarding which language to use if coding yourself, I think this is a purely personal decision and our responses can only be subjective.
But, since, you ask: I started web programming with ASP, but gave PHP a try over 7 years ago and have loved every minute of it.
If your current solution works and this new project doesn't require major changes and/or anything that you cannot do using ASP you should consider not switching but staying with ASP. Regarding AJAX, you shouldn't have any problem with the ASP.
My work is split between ASP.Net and PHP. I'd say , in general, I prefer the former for larger projects and the latter for small quick (in terms of dev time) things. In my experience, PHP's advantages over ASP.Net are cheaper hosting and larger user base (easier for the client to find someone to work on the app if you become unavailable in the future). If those aren't top priorities, I'd say stick with .Net. And definitely take a look at ASP.Net MVC and jQuery, as Marc recommended.
ASP.NET MVC all the way.
Easier port, more professional, safer and better for large projects.
This is an interesting question.
Comparing the Compiled vs interpreted languages - there is just a myth outside that PHP is faster than Asp.Net but at some points, this looks true. Find here a detailed explanation,
http://naspinski.net/post/AspNet-vs-php--speed-comparison.aspx
Moreover, the eCommerce site contains large number of products and database, so it should be wisely chosen the technology for development from these two, asp.net and PHP.
Check these pages if you would like to go deep in the selection of asp or php for eCommerce,
http://www.ydeveloper.com/asp-dot-net-ecommerce.html
I've been doing html, css and javascript for quite a long time, mostly for my very own enjoyment. I would say I know fairly much, I've created many simple games and apps and experiments with javascript. However there is only so much that is possible to do in the browser, for any more "complete" websites I am constantly confronted with my ignorance on server side programming.
So, what do I need. I need to get my head around how to use databases and how to use some server side programming language, I guess. What is the right choice? What should I avoid?
Thanks.
PHP and MySQL have a pretty low barrier to entry (they're both free and ubiquitous). I'd start with those, since most hosts provide them for you. As an added bonus, they work really well together (and PHP isn't very hard to learn coming from a web development background).
Head First SQL is a great book for learning MySQL. All of the examples in the book are done on MySQL. The book even explains where to get it and how to install it. As for PHP, the introductory tutorial at official website is the best place to learn it.
Update: Head First PHP & MySQL is now available. I haven't read this one yet, but other books in the series and by the same author are great for learning new languages from scratch.
Download Python. Learn the Python language. Learn Object-Oriented programming.
Python includes SQLite, this makes it easier to Learn the SQL language.
Download the Django framework. This makes it easy to write server-side applications that work simply and reliably.
I would suggest PHP. Not because it's the best, most modern or cleanest language out there, but because it is easy to learn for someone coming from pure HTML.
You begin by just adding tiny bits of PHP to your regular HTML and magic happens :)
Ruby is a fantastic language and the frameworks for web stuff generally teach you some good practices. Try it. The Learn to program book uses Ruby, maybe you'd like to check it out.
I noticed in your question you mention that you've been using javascript. If you're comfortable progamming javascript, I've recently begun working with server side javascript in the form of EJScript on linux and using jscript on windows. It's been fairly painless, and the documentation has been pretty good so far on both.
If you're more interested in learning this with another technology then Django & Python or ASP.NET & C# (or IronPython) are both fairly low barrier to entry platforms available on windows, *nix, etc...
I would say that if you're comfortable working in Linux, then go for PHP and MySQL. If you aren't comfortable working in Linux, then download the free Visual Web Developer version of Visual Studio Express, and get started using that. This lets you program in VB.Net or C#, and use the .Net web development framework. It's really miles ahead of anything PHP in terms of how nice a platform it is to work on. There's also a free developer edition of SQL Server that lets you store up to 4 GB of data.
There's plenty of .Net hosts out there now too. Although, due to increased license costs, Windows hosting plans will usually cost more and give you less space/bandwidth than Linux hosting plans, you can still get enough room to play around with and deploy some apps on the web. If you develop something really cool, and outgrow what your hosting account provides, it's probably time to upgrade to a VPS, and post ads on your site to start paying the bills
I'd recommend PHP for folks who are familiar with HTML but are newish to programming. Here's why:
I'm currently an ASP.Net developer, and I think that ASP.Net abstracts waaaaay to much to make it a good first programming environment. I say learn how to generate and manipulate straight HTML with a language like PHP instead of trying to understand GridViews, etc., which have no bearing or relevance to programming in the broader sense.
I wouldn't say ASP.Net is "the Dark Path" or anything, but if you start out by learning it, you'll tend to favor the warm and insulating arms of the framework. ASP.Net is pretty much a code-generator when compared to more explicit (some would say reckless, messy, and tedious, but I'm not one of them) methods like PHP.
With PHP you'll see the effect your code has on the actual HTML when you view source. With an ASP.Net page, you'll be baffled by the amount and complexity of the HTML it spits out.
After you get your hands dirty in PHP, you can explore the pros and cons of frameworks like ASP.Net that "do a lot of the work for you".
I was exactly in your situation 3 to 4 years ago and, like some of the commentators suggest, I tried PHP because of its low barrier of entry.
That was a mistake! Oh sure I was able to achieve some things here and there, including using a contact form from a book which was so flawed that it was later hijacked by big time spammers and got my domain banned from most email servers out there.
Later on I tried to learn how to create dotabase driven sites with object oriented programming following the guidance of the excellent books, blog posts, and forums from Sitepoint and other sources. It was just too hard for my little brain. I just could not do it.
So what happened? 2 1/2 years ago I decided to learn Rails, which had just turned v. 1.1. It has been fun since the beginning and extremely rewarding. Working with Ruby is a pleasure, much easier to learn than PHP, and the Rails framework is so well put together that you can, with little effort, produce some very elaborate web sites with advanced features all while learning how to do proper object oriented web programming.
I used my new knowledge to recreate from scratch the site of my non-profit organization (with a new domain ;-) and, with a friend who is a talented designer, created a web development firm.
Don't get me wrong, it's not that easy, if you want to learn programming you need to put a lot of effort into it but in my own experience Rails can bring you some instant results while letting you get deeper and deeper over time.
I recommend two main sources of knowledge:
The excellent, official Rails
guides.
The free screencasts
from Railscasts.
Whatever your choice will be I wish you the best and a fun and fulfilling experience
I recently came upon this question myself. I really liked the way PHP integrates with HTML making designing a site more natural in my opinion. Design your site as you would with static content and then switch the static with the dynamic. However, I wanted to choose a "good" language. I looked at PHP, Ruby, Perl, and Python, as they are the most popular, open source options. I didn't need any powerhorses, if you will, like Ruby on Rails or Django, since I just wanted to mess around with server side stuff and some SQL—nothing serious. I don't remember why nor do I care to remember why, but I chose Python. But I still wanted that integration with HTML. I came across Karrigell. It's a neat piece of Python that essentially handles the integration. It comes with a little web server which you can use on its own or use something like mod_proxy with lighttpd. The devs don't limit you to only Python inside HTML, though. Their server parses: Python inside HTML, HTML inside Python, plain ol' Python scripts, and Karrigell services. It may not integrate as well as PHP does, but it's pretty damn good.