Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I wanted to get into full-stack JS development. I was about to start with the usual MEAN stack (MeanJS). I stumbled upon these articles:
http://wiki.dandascalescu.com/essays/why_meteor http://wiki.dandascalescu.com/essays/meteor_js_vs_the_mean_stack/
That are convincing. I am really confused how to get started. What are the pros and cons of using a frontend-backend-database framework like meteor over the conventional MEAN?
Due to the nature of the question, I'll try to answer it broadly. After using the MEAN stack for over 2 years and Meteor for a few months, I much prefer Meteor.
If you're just starting, Meteor has amazingly simple conventions. Try the angular-meteor tutorial to get started. Meteor offers one line installs, perhaps most notably including user authentication. You get the power of observables & latency compensation as a default.
The MEAN stack requires much more configuration and setup, as well as a strong developer foundation in Node.js. You have to do the work, but it may be worth it to understand the full stack. Much of what Express handles in dozens of lines of code can be handled in one line of code in Meteor.
Having said that, it is sometimes difficult to hack together Angular with Meteor. For example, I'm currently having difficulty using the new-angular-router with overlapping Meteor conventions. Consider MEAN has a much longer trusted history and wider support.
I think you are going to get a lot of opinionated answers, but to be honest every user is different and you won't really know until you try each out. I took a look at all the tutorials that were available for the ones that interested me.
ReactJs:
I was never a fan of reactjs, until the 3rd time I went through the tutorial, and thought this is kind of easy to get the hang of :
http://facebook.github.io/react/docs/tutorial.html
ReactJs is a framework by facebook and is doing pretty well. It works by updating the DOM and the syntax reminds me of that of programming a game. It uses states and props.
AngularJS:
I didn't prefer angular js as much because I didn't really give it much of a try (atleast more than twice). I was hypocritical about it. I thought of it as too much to remember and the tutorial I tried with it was this one :
https://thinkster.io/mean-stack-tutorial/
I think it is a great tutorial to get you into the stack. I can't say much about it but Angular 2.0 is coming out soon.
MeteorJS:
I never gave it a full go, but it looked interesting and from what I read, it was mobile friendly and great for single page app. Recently I've been following this tutorial:
https://scotch.io/tutorials/building-a-slack-clone-in-meteor-js-getting-started.
This is the next project I'm going to try to do in Reactjs(in meteor first).
I think its all really preference and you should just give all of it whirl. Some might be better at some functionality then others, some may be more syntax friendly, some may just be easier to use. All depends on the type of person you are.
Since Meteor is built upon NodeJS, it may be obvious that it was created to enhance development over the MEAN stack.
Meteor relieves the pain of writing hundreds of lines of code to accomplish a simple real time app, for example.
So if your question begins with "I wanted to get into full-stack JS development...", I strongly recommend you Meteor over MEAN.
At the end of the day:
"Meteor will be the JavaScript framework that will rule them all"
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I just starting to learn AngularJS (Version 1.5.0) with Material Design for Angular - damn looks so freaking sweet :)
For building and deployment i use Gulp to automate my tasks.
So far so good, but while googling my way to more questions i found Frameworks like MEAN Stack, Meteor, lumX, Ionic and many many more.
Im wondering if its better to start with one of the Frameworks or if Gulp + AngularJS + Material Design for Angular is just fine.
Before i played a bit with Foundation for Apps which looks sweet too but i really like the look and feel from Material Design. Before i used Zurb Foundation for my Responsive Webdesign Projects but consider to jump to Material Design (which is based on FlexBox) even i miss support for some older browsers.
So im bit confused if im wasting time to learn Angular Version 1 now and better straight jump to Angular2 beta. My concern is that i may run in a lack of documentation and help. Also i have to learn more about ES6 (which is necessary in the next time anyway but makes it more hard to start). I guess lot of the stuff i will learn from Angular v1 i can later on use in Angular v2 anyway, or?
Another question for me as a Freelance Web Developer is if its not better to stick with Angular v1 for a while and learn more about it and later jump to Angular v2 when its out of beta. Because the goal is later to get into some projects and i can imagine that the companies stick with v1 for a while till v2 gets more stable.
For some starting projects i wanted to create a few Templates and Apps for my Wordpress Sites based on Angular with Material Design on a LAMP Enviroment. My Webspace sadly doesn't provide NOSQL databases yet so i guess i will keep coding on PHP / MySQL for a bit.
So in short, if you guys where in my place (experienced in Web Development but new to Angular) where would you start right now?
What Frameworks, Extensions and Tools do you recommend for Application Development with Angular?
From a business point of view when do you think will Angular2 be widely be used on live projects and is it better to start learning Angular v1 or go to v2?
Thanks for your replies.
Cheers bin2hex
Instead of giving a biased opinion, I'll just provide for you a few links of project structures that are being used currently that might serve you some guidance.
https://github.com/TheLarkInn/angular-starter-es6-webpack (This one is Shamelessly authored by me).
https://github.com/AngularClass/angular2-webpack-starter
https://github.com/AngularClass/NG6-starter (I took some pieces from this repo to create mine).
I'd recommend looking into writing Angular in the 'Component Style' (like the above links). It is a new way to start out using Angular 1/2 for the future and at the least you can use these repositories as thought-provoking brain-food for your own standards.
There are also other bundling platforms such as Browserify and JPSM, however Webpack provides a lot of awesome out of the box functionality that makes Angular development really awesome.
I don't know much about AngularJS V2, but I made some AngularJS V1 projects last year. Here tools I use to make my AngularsJS V1 projects:
As project generator:
Yeoman
As depedency manager (included in Yeoman angular generators):
Bower
As task runner (included in Yeoman angular generators):
Grunt
Set of prebuilt UI components based on AngularJS directives:
Angular Material
Angular Strap
Angular UI
Actually in my opinion is better use AngularJS V1 for production purpose.
The most important thing is something you haven't considered. All that matters is that you get your html/css/javascript to the browser. Everything in-between is trivial and leg work.
Now that Angular belongs to google, they have started very rapid development to support developers of all sorts. Either way it's going to be very stable, and if you keep your code modulare and clean, it's easy to transfer. I would say just make something, make what you need, and keep working on it over time and as the framework evolves, and change your code to match. If you keep waiting for the next big thing nothing will get done, so it's better to choose a framework and stick to it.
I word my answer like this because your question is very subjective, and you should experiment and find an answer based on your needs. As a web developer, you have to learn many different languages anyway, so start with where you think is best, and grow as you figure out what you need.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to implement the following feature: whenever somebody comes to the site, he sees the login form and if he didn't logon correctly, any other url should show him login form.
how can I do this?
I have the project I inherited and only starting in Angular, so I have no idea where do I change the first page I show and how do I block unauthorized users from accessing other urls
To keep the explanation as basic as possible angular works in the main index.html file by using "controllers" to explain to the client browser what to do. Somewhere in your folder hierarchy should be a folder named "partials" , "templates" , "views" ,or something similar. It should contain a bunch of small .html files. Those files are swapped using AJAX embedded into angular. There should be an html element tag that contains an attribute "ng-app= "whateverYourAppsNameIsHere" within the opening element tag, anything in between this tag is "angular."
Angular seems complex at first, but once you keep at it it gets much easier. Everything within the ng-app attribute is powered in your JS files, and there's some really good free resources out there, including codeschool which has one, and angular. Google, hosts their own "phonecat app" which explains all the basics in pretty good detail in a walk-through tutorial with code snippets provided for when you can't quite figure it out. Make sure you use this link though [Google:Angular - Go to "tutorial"] (https://angularjs.org/) There is currently an Angular 2.0, which is written in TypeScript(short hand JS) found at FYI Only: Make sure you're not on this domain Know this exists in the event you start liking TypeScript, but I'd recommend sticking with plain angular until you're comfortable with it.
Okay, so that's a brief splash of what's what to find your files, and hopefully help you grasp any answers a bit better. At the very least those are 2 really good resources to start learning Angular from.
For your direct question "How do you manage users being logged in, or sending them to a page." There are many ways to perform that task, so I'll give you guidance on how to best learn it in my opinion. 1) Review "ng-if" which you can use to display/not display a page section (or as you asked re-route to a login form if not verified) People typically seem to use a "router" for Angular, Angular-UI is a fairly well recognized one and you can find it here: npm angular-ui-router. You can also verify someone on the back end when they call out to the server for page updates.
So I know I didn't directly answer your question, but the links I sent you will more than answer your question and also give you some guidance where to start learning/looking for resources from. If you're not yet familiar, I would recommend building/maintaining your app in Yeoman if you have not done so already. Yeoman and [Yeoman - tutorial] (https://www.youtube.com/watch?v=gKiaLSJW5xI) <-- This guy is AMAZING for tutorials, and he's very reassuring when you're scratching your head feeling overwhelmed with coding things.
Hope it helps, that's 3 years worth of resources touted out in 1 question response. Happy Coding! ;)
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Before I start: I know this is a very broad question, but it is the best way I could phrase it, I have searched around a lot and can only seem to find generic explanations. I searched SO and didn't find much. I have also skimmed through some pages in the wordpress codex, and didn't find anything really useful.
I would like to create a simple database driven blog-style website, it will really only consist of stories (their title, date, content, etc), I just began teaching myself web development and my idea of how database driven websites work has proven to be completely wrong. I figured you would always need a file connecting to the database for each article, but the more I read I learn about mark up being generated on request, and so on, so the actual /year/month/day/article doesn't actually have to exist on the server, or that may be wrong, that is why I am here.
As I said I cannot find much on this topic that isn't a generic graphic of a server interacting with a web page. How does one go about creating a database driven website of this style? Are the files/directories not actually on the server but only created on a case by case basis as someone requests it? If so, then why can you type out a complete url and it be there with out throwing a 404? I have a lot of questions, really all I need is a strong explanation of how these sites work, code examples, and so on. Could someone explain how they work or point me to information (recommended articles, examples or books)?
EDIT: Please don't recommend a framework, I want to understand how these sites work and build one myself.
It's actually quite simple. Wordpress's index page calls wp-blog-header.php. That file calls for other files, and those files call for other files. It goes on for some time until all the contents of the page are actually loaded.
The databases come in when you start thinking about having users. Obviously the user information is stored in the database. Beyond that, Wordpress keeps post titles, dates, and other information in the database for easy loading later on.
Comments are also stored in the database. Each comment is associated with a number, and in the database, just like the posts, the dates/times as well as the usernames associated with the comments are kept.
Further exploration in the actual Wordpress files will reveal a lot of interesting features.
You might want to check out Django. It is an open source Python web framework that provides a lot of the functionality you are talking about. It also has a lot of very good high-level documentation with even a free e-book. It is centered a bit more on newspaper type sites than blogging, but most of the same principles apply. If you are new to python and like to use IDEs I would recommend checking out PyCharm. It has tight Django integration and makes for simple project setup and debugging.
Generally speaking, you'll use a framework that will take input parameters (year/month/day/article), run some code to fetch data from the database, and dynamically create the webpage. There isn't an actual .html file sitting on the webserver. One of the most popular frameworks to do websites like you're describing is Ruby on Rails, which makes it incredibly simple to do.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I need to build a php app, and I was thinking about using a framework (never used one before). I've been browsing around some but most of them seems kinda complicated, I really liked what I saw about Symfony, but it looks like I will have to spend like a month until I really understand how to use it, and in one month I could code the app I have in mind 5 times without a framework. But I want to use one to "standardize" my code and prevent bugs.
So I was wondering if someone could share with me which php frameworks you think are easier to learn how to use.
My application will use mysql, and it will have some sort of "search engine" to search data that will be populated on the database using a few "scraper scripts" (that I also wants to code using the framework).
There are many questions answering this question here on StackOverflow and I was recently just in your position researching many different frameworks as I want to standardize my code as well.
I ended up choosing Codeigniter because I wanted something with good documentation, and that was very light (lighter == easier to understand IMO), and something that was not too strict. In Codeigniter if you really want to you can just code regular PHP and it lets you do that. I like this option because if I really get stuck on something, I just code it in raw PHP the way I know I can. I've only been using Codeigniter for a few weeks but the learning curve isn't too difficult and this is my first framework I've used.
Read through some of the previous discussions, and look out for ease of use advises:
https://stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
https://stackoverflow.com/questions/249984/php-framework-decision-analysis-paralysis
Why do I need to use a popular framework?
https://stackoverflow.com/questions/717836/kohana-or-codeigniter
If you want something easy to get started, you might want to look into the minimal frameworks:
https://stackoverflow.com/questions/694929/whats-your-no-framework-php-framework
https://stackoverflow.com/questions/141945/lightest-possible-php-mvc
https://stackoverflow.com/questions/3023818/any-procedural-non-oo-php-framework
But actually the big dozen are advisable if you want good documentation. Symfony and CakePHP are complex, CodeIgniter and the newer Kohana fork are beginner friendly. While there are many more to choose from. Pick a nice API, and maybe look out for one that explains the difference between MVC and MVP. Also for a lengthy list: http://matrix.include-once.org/framework/
My first choice would be cakePHP. Easy to learn, great documentation, api and a few good books:
Beginning CakePHP: From Novice to Professional – David Golding (good; start with this one!)
Super Awesome Advanced CakePHP Tips – Matt Curry (good and free :-))
Refactoring Legacy Applications Using CakePHP – Chris Hartjes (not read yet)
Practical CakePHP Projects – Kai Chan, John Omokore & Richard Miller (not so usefull)
CakePHP is the best solution with a small learning curve.
I was in your shoes just 2 years ago. I personally chose to use Zend Framework. It's important to understand that ZF is built by the same guys who maintain and improve PHP itself! Just that gives it a lot more credibility.
When choosing a framework you should consider the following:
Size and Quality of the community - Being one of the most widely adopted PHP frameworks, Zend Framework (aka ZF) has the biggest PHP framework community; hence, most of the problems you will encounter will have already been answered. There are frameworks out there that are supported by just a few developers and if they happen to quit working on it, you're stuck with the latest version of the framework. This not likely to happen with ZF.
Documentation and Beginner Friendly - The ZF docs are pretty good, full of examples and beginner friendly. There's also a ton of tutorials and [quick start guides][2]. It's extremely easy to start up a new ZF app.
Investment - Sure you have to invest sometime learning how it works, but everything's like that in the software engineering world. You have to understand [OOP][3] and [MVC][4] before hand as well. Many people don't understand that using a framework to develop procedural-like code (instead of OOP) is defeating the purpose of... using a MVC/OOP framework! Therefore, it's important to grasp and master these concepts so you develop the best code possible. And by best code I mean
a) code that works
b) code that's easy and fast to understand and maintain.
This investment is well worth it since it will drastically increase
a) speed of development
b) speed of debugging and maintenance.
Also, take advantage of this moment in your programming career to also adhere to other common best practices (if you haven't already done so) by using:
a) Unit Tests - incredibly easy to integrate within ZF. Look into [Test Driven Development][5] as well.
b) An IDE - VIM, [Netbeans][6], etc
c) [Design Patterns][7]
d) Source Control - [Mercurial][8], Git, SVN, etc
e) Finally, keep yourself in the loop by [following what's going on the PHP world][9].
You'll thank yourself yourself in your near future! I know I did.
As no-one has voted for Symfony here i will and here's why. There are two types of frameworks, well a whole range actually but in the PHP/MVC area which is where we are in this thread there are Glue and Full Stack frameworks.
Zend and CodeIgniter are Glue and Symfony and Cake are FullStack.
Glue are the ones where you can pick and choose which components you can use and how much "standard" code you can use. These tend to have a gentler learning curve as you can pick the bits you like that help and fill in the more difficult bits with code you know.
FullStack means you need to use the lot and so the learning curve can be quite steep. Also with FullStack there can be a tendency to balk against the way something is implemented rather than just accept and flow with it.
Coming from a write everything myself background i initially favoured the Glue's but have now migrated to FullStack using Symfony 1.4 and 2 and Sinatra and Padrino. The extra speed and power the fullstacks give is not something i would like to give up.
One downside of CI is that it is built for php4 compatibility and so does suffer in a number of structural ways when you come to push the framework, Kohana is a fork that addresses this issue. And i dislike Zend because there are so many ways of doing the same thing that after a while the Framework seems almost irrelevant (Sorry personal rant)
At the end of the day use of a Framework is good because it adds a structure and can be a great aid to learning and the one to choose is the one you feel comfortable and are productive in.
There are many frameworks and several really cool frameworks.
After trying so many of them I think you should not start using any of them before finding best suitable to your needs.
You may find any other after choosing one so do not act quickly before choosing right one.
Before creating an application with a framework you should make exercises.
For me I started with CodeIgniter created one application and left second one in the middle, then passed to Kohana and started second application according to the needs.
CodeIgniter is the one that I prefer
The framework must have little learning and easy to expand. I am using http://sourceforge.net/projects/naanalframework/ for all my projects. There is no installation. Just has to point the frameworks naanal.php in your application's index.php and run it. The framework will guide you what to do. For the beginer, this framework is very useful to develop PHP applications. A sample application also available at http://sourceforge.net/projects/naanalframework/files/sample%20applications/wordpress_plugin_builder.zip/download
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been slowly and a bit painfully working my way up the datastore/JDO learning curve in GAE. Recently I've found a framework called Objectify that is supposed to be somewhere between the very-simple Datastore native API and the complex JDO. I've been reading up on it and it does seem attractive.
What I want to know is, if anyone has much experience with Objectify... How mature is it? Is there much of a user community? Is it ready for heavy-lifting primetime? Could it be abandoned?
There doesn't seem to be much discussion of Objectify here or on the web in general, which makes me nervous about entrusting my project to it.
I've looked into objectify a bit and wrote an initial post about it at http://borglin.net/gwt-project/ . There are actually at least 5 different low-level wrapper frameworks at this point (objectify, Twig, SimpleDS, siena, slim3).
I'm currently working on a interview-style comparison between objectify, Twig and SimpleDS together with the authors for each framework. They will answer a bunch of technical questions and I will do some code scenarios with each framework.
In the mean time, you might want to check out these threads:
http://groups.google.com/group/google-appengine-java/tree/browse_frm/thread/4467986eaf01788b/c6d007863a616a1b
http://groups.google.com/group/google-appengine-java/browse_thread/thread/f20d922ffecb310c
http://groups.google.com/group/google-appengine-java/browse_thread/thread/79078132130a3dfe#
For all who are looking for the interview-style comparison between objectify, Twig and SimpleDS as mentioned by Andreas Borglin, it is available here: http://borglin.net/gwt-project/?page_id=604
I've just ported from JDO and the low-level API to Objectify, and I'm sold. Automatic use of Memcache, much easier (and shorter) queries, fewer surprises. I like that it doesn't hide the nature of the datastore - it just makes it easier to use.
You might also want to check out the recent announcement of the Twig final release 1.0:
http://groups.google.com/group/google-appengine-java/browse_thread/thread/aafbeb679a6e6790
It gives a good overview of what Twig is capable of. A point of interest is the ability to do non-blocking async queries which is only possible with Twig at this time.
Objectify is Ok but there is nothing better yet. Twig is relatively new, As of 09/21/10, took a look at documentation, examples, discussion groups of both and looks like it has some ways to go before getting mainstream. Not many claimed features have out-of-box working examples. I love the succinct documentation from Twig as opposed to the Verbose yet somewhat clear documentation from objectify. Objectify seems to want me to do lot of work, e.g. no managed owned relationship support etc. But given everything that it gives on top of plain JDO/JPA and also given JDO/JPA does not give much, I will say Objectify is the best choice for now.
You can read this article. It provides a very good comparison between Objectify and JDO
http://borglin.net/gwt-project/?page_id=491
It is a late reply but i diged into this issue as you. As i wanted to use lucene and compass at that time for full text searching and then i found you can use objectify in full text searching in this project
http://code.google.com/p/fulltext-search-in-objectify/