TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Simplest stack to build web apps in 2021?

99 点作者 yblu超过 3 年前
I&#x27;m looking to build a new app with a frontend, rest API, and server-side rendering. I&#x27;d prefer a single batteried framework supporting all of these out of the box.<p>It&#x27;s been a while since I can develop from a clean slate and I was hoping web dev in 2021 would be much simpler than what I am used to. However, I spent this entire morning looking at modern frameworks (not going to name them to avoid turning this into a different kind of discussion) and I&#x27;m kinda disappointed. They all look complicated and require lots of configs and plumbing to get started.<p>Any stack&#x2F;framework that you find simple and joyful to develop with?

61 条评论

Mikeb85超过 3 年前
Rails. But do Rails 7 (still in alpha but it&#x27;s on rubygems - it&#x27;s also super stable, I think the alpha label is simply because DHH hasn&#x27;t finalized all the changes). Gone is all the webpack JS nonsense (it doesn&#x27;t have any dependency on Node at all). Hotwire&#x2F;Turbo&#x2F;Stimulus is standard. ES Modules&#x2F;import maps are standard. It&#x27;s dead simple, almost reminds me of the early days of Rails. But of course it&#x27;s industrial-strength, better than ever, Ruby is also better than ever.<p>Edit - to make life extra easy also set it up with Postgres and deploy to Heroku. Everything literally just works.
评论 #29312350 未加载
codegeek超过 3 年前
Everytime this questions comes up (and it comes up a lot especially on HN), the answer is almost always: start with the Language that you already know and then reverse engineer. For example:<p>PHP =&gt; Symfony or Laravel<p>Python =&gt; Django or Flask<p>Javascript =&gt; Node&#x2F;Express<p>Ruby =&gt; Rails<p>Then there are others like elixir&#x2F;Phoenix etc and then you can do your own in Go etc.
评论 #29312659 未加载
评论 #29313384 未加载
评论 #29312395 未加载
评论 #29320248 未加载
评论 #29312625 未加载
评论 #29314372 未加载
评论 #29318248 未加载
评论 #29313311 未加载
ajjenkins超过 3 年前
I haven’t used it myself, but Next.js is a popular choice if you want to use React. It’s primarily a front end framework, but can do all of the things you mentioned in your post. But probably not the best if you’re looking for something to build a traditional web app with a database. I think there are comparable frameworks for Svelte if you’d rather use that.<p>But if you really want a full stack framework or don’t want to deal with fancy JavaScript frameworks, I think you’re better off sticking with Rails&#x2F;Django&#x2F;Express or something you’ve probably heard of.
评论 #29312266 未加载
评论 #29312401 未加载
评论 #29313597 未加载
dmje超过 3 年前
Bracing myself for the downvotes but meh, let&#x27;s live life dangerously.<p>WordPress.<p>Why? Incredibly easy to dev against. Powerful API built in. User model. Flexible theming. Plugins for extensibility. Multisite for more complex apps.<p>I&#x27;ve built a few web apps in house using it and am now making a couple for production use. I might one day find I need to get this made bespoke but I can&#x27;t see a requirement any day soon. WP does everything I need.
评论 #29312694 未加载
评论 #29314660 未加载
评论 #29312788 未加载
评论 #29315729 未加载
评论 #29327247 未加载
评论 #29313581 未加载
e67f70028a46fba超过 3 年前
<a href="http:&#x2F;&#x2F;htmx.org" rel="nofollow">http:&#x2F;&#x2F;htmx.org</a> + whatever backend you like best
评论 #29312583 未加载
评论 #29312459 未加载
评论 #29321419 未加载
temp8964超过 3 年前
I have being searching for web frameworks too recently. I want the development of web app to be close to desktop app as possible. I want web UI to be treated as desktop controls, and I don&#x27;t want to deal with any html&#x2F;css&#x2F;js at all. I don&#x27;t want to handle the back and force between the server and the client, and the framework should hide all the complexity for me. Because I want to focus on the business logic.<p>I heard .net Blazor or Razor page is something like that, but as I checked, they don&#x27;t hide html&#x2F;css&#x2F;js.<p>R Shiny is the closest I get. You don&#x27;t have to use any html&#x2F;css&#x2F;js code to build a web app. Only R language is needed. See a simple example here: <a href="https:&#x2F;&#x2F;shiny.rstudio.com&#x2F;articles&#x2F;basics.html" rel="nofollow">https:&#x2F;&#x2F;shiny.rstudio.com&#x2F;articles&#x2F;basics.html</a><p>I would love to hear about more options here.
评论 #29319197 未加载
rsp1984超过 3 年前
Interesting that Svelte hasn&#x27;t come up yet. Personally I find it to be the only sane web framework out there. Easy to learn, little boilerplate code, very well structured, very fast. Give it a try!
评论 #29313114 未加载
holonomically超过 3 年前
Frontend is what will get you. The kids have decided everything now needs to be compiled and transpiled so you won&#x27;t be able to avoid the hassle of frontend development. If you want to avoid all of that then Flutter&#x2F;Dart might be a good option: <a href="https:&#x2F;&#x2F;dart.dev&#x2F;web" rel="nofollow">https:&#x2F;&#x2F;dart.dev&#x2F;web</a>. But this is just me giving random advice. I tried Dart for a while and it&#x27;s a nice language, no worse than all the other contenders when it comes to web development.
评论 #29312156 未加载
评论 #29312394 未加载
评论 #29312315 未加载
vcool07超过 3 年前
If you know c#, then .net6 released recently, which is a LTS release and has really cool features like hot reload, minimal API etc. It also has sufficient performance improvements as compared to its predecessors. As a language, personally I find C# to be much easier and better to use as compared to java&#x2F;python, especially for web dev and C# 10 has some really good language improvements like record types etc. I have used it mostly in windows env, so, not sure about it&#x27;s performance on Linux, but considering its cross platform, I&#x27;m guessing it would be good.
评论 #29319936 未加载
teitoklien超过 3 年前
Strapi + Hugo + Python<p>Strapi has a great builtin admin panel and cms And gives you built in api to create, read , update and manage access, so its almost like a combination of wordpress + hasura kinda, and it comes in one docker image to host, you can choose between sqlite3 and postgres for the db.<p>Hugo for building my static web pages and page templates, after that I either render it statically with hugo (and serve it with nginx) or migrate the final file into template folder for my python app<p>Then for the dynamic content (SSR) , fastapi + jinja2 (for simple pages) or if i need to built a custom api (i try to handle it with strapi and only build my custom api if i need to)<p>When i want to build a spa , i use lemonade.js for csr, with fastapi for custom apis, and strapi takes care of the simple crud apis.<p>[strapi](<a href="https:&#x2F;&#x2F;strapi.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;strapi.io&#x2F;</a>)<p>[hugo](<a href="https:&#x2F;&#x2F;gohugo.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gohugo.io&#x2F;</a>)<p>[fast-api](<a href="https:&#x2F;&#x2F;fastapi.tiangolo.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fastapi.tiangolo.com&#x2F;</a>)<p>[lemonade-js](<a href="https:&#x2F;&#x2F;lemonadejs.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lemonadejs.net&#x2F;</a>)
评论 #29314355 未加载
mr-karan超过 3 年前
For backend I&#x27;d say -&gt; Golang, PostgreSQL, Redis. I&#x27;ve just worked with Vue.js but I&#x27;ve seen some of the React codebases and don&#x27;t really appreciate that complexity. Vue does a far better job and simplifying things.<p>With Golang, you actually don&#x27;t need a mega framework to get started, you can use small libraries that will do the job for you without doing any magic behind the scenes. (Like, for sure you can use echo[0] but you would probably be happy with mux[1] and it&#x27;s middlewares itself). And it&#x27;s not uncommon in Go codebases to repeat yourself. I&#x27;d argue that&#x27;s a much better paradigm than polluting your codebase with 10k indirect dependencies, the garbage that is the Node.js ecosystem.<p>[0]: <a href="https:&#x2F;&#x2F;echo.labstack.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;echo.labstack.com&#x2F;</a> [1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;gorilla&#x2F;mux" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gorilla&#x2F;mux</a>
评论 #29321348 未加载
评论 #29314662 未加载
thess24超过 3 年前
I was starting to look at the same thing. I used to do a bit of Django development (5ish years ago) and things seemed to have changed a good amount with the tooling &#x2F; frontend.<p>Does anyone have an opinionated stack they like with Django to get things up and running quickly that could also set me up well for the future for a website and an app(if I want to transition the website to a stable business, etc)?<p>The things I&#x27;d be looking for opinions on:<p><pre><code> - django vs DRF - react (or next.js) vs vue vs something else for frontend - what other tooling should I use for modern front end development - what else is in your stack for CI&#x2F;CD, rollbacks, db migrations, deployments, etc. - do you use any other templates or themes for the frontend to make the UI look good? - how you handle security &#x2F; auth when using a front end framework with django as the backend -- are there any tricks? I&#x27;ve heard JWT can cause headaches - any django packages they recommend using, or other front end packages that are popular </code></pre> Thanks!
评论 #29321486 未加载
评论 #29315115 未加载
Glench超过 3 年前
&gt; They all look complicated and require lots of configs and plumbing to get started.<p>I felt the same way so I made my own full-stack &quot;framework&quot; just for me centered around the Svelte component library which I love:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;Glench&#x2F;full-stack-svelte-prototype&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Glench&#x2F;full-stack-svelte-prototype&#x2F;</a><p>Been using it in production and really really happy with it. Obviously kind of stinks to not have community support but so far it hasn&#x27;t been a huge issue.<p>It basically sets up all the crap that I don&#x27;t want to have to think about while keeping a tight coupling between the front-end and back-end (which is how I develop) — clear separation of code that runs on the server vs the client (with code splitting and CSS generation), rendering pages on server and hydrating client components, communicating between the server and client, re-rendering components when new data arrives. It really fits my needs well.
评论 #29313687 未加载
torvald超过 3 年前
If your app is stateless; FastAPI. Otherwise Django all the way (with some cloud managed SQL, if you are not into hosting it yourself). Remember backups.<p>Put in on a VM, deploy with Ansible, and call it a day.
评论 #29313973 未加载
_peeley超过 3 年前
I use Laravel both at my day job and for a few side projects, and it&#x27;s a real blast to work with. It&#x27;s very similar to Rails in that you can auto-generate most boilerplate for models&#x2F;views&#x2F;controllers, and then paint-by-numbers from there. The HTML templating is nice enough for static sites, but it has great Vue integration if you&#x27;re making something a little more interactive. If you also ever need to venture outside the super feature-packed framework, the PHP ecosystem is absolutely enormous so it&#x27;s rare you&#x27;ll ever be wanting for packages.<p>The PHP language obviously still has some sharp edges and annoying design choices, but it&#x27;s seen some huge improvements in the past few years imo. Simply using a framework like Laravel will also save you from some of the more infamous footguns, since there&#x27;s a lot of secure&#x2F;sane defaults included.
spicyusername超过 3 年前
If you want an all-in-one, which it sounds like you do, I&#x27;d look into something like Nuxt and VueJS 3[1]<p>If you don&#x27;t mind separating them out (which lets you use different tools for your web tier and your middle tier) I&#x27;d probably use a combination of a static page driven by VueJS on the frontend and Golang on the backend for the API.<p>[1]: <a href="https:&#x2F;&#x2F;v3.nuxtjs.org&#x2F;getting-started&#x2F;introduction" rel="nofollow">https:&#x2F;&#x2F;v3.nuxtjs.org&#x2F;getting-started&#x2F;introduction</a>
评论 #29315427 未加载
cookiengineer超过 3 年前
If you want a batteries included framework, maybe take a look at ember? [1]<p>It tries to automate a lot via the ember-data module (which also makes queries automatically, e.g. left&#x2F;right joins etc) so it shines with its predefined rules, lots of former rails people seem to contribute to its ecosystem these days.<p>[1] <a href="https:&#x2F;&#x2F;emberjs.com" rel="nofollow">https:&#x2F;&#x2F;emberjs.com</a>
评论 #29312159 未加载
alexcnwy超过 3 年前
Flask.<p>Very lightweight without much black box magic.<p>Miguel Grinberg’s tutorials and book are a great and quick crash course.
评论 #29312339 未加载
thorin超过 3 年前
I&#x27;d like to know too, but I think I&#x27;m going to be disappointed. Currently using dot net core web api with angular or react. I was thinking about trying to pick up django again, is that still likely to be worthwhile? Have done java spring previously. Node&#x2F; express didn&#x27;t seem to have enough batteries included.
评论 #29315479 未加载
barosl超过 3 年前
I was in the same boat as you. I&#x27;m mostly a backend person and I had avoided frontend frameworks and used vanilla JavaScript directly because I did&#x27;t like the complexity of modern JavaScript frameworks.<p>Recently, I tried Next.js and it changed my mind a bit. It prefers convention over configuration, requiring tremendously less configuration compared to other frontend frameworks. It is still a bit complex, but hides the fact nicely under a well-defined abstraction. I might try another project with Next.js in the near future.
评论 #29313701 未加载
tootie超过 3 年前
I&#x27;d absolutely go for next.js and deploy with Vercel. It&#x27;s got a huge community, lots of starter templates and enterprisey add-ons. There&#x27;s stuff to learn but react is easily the most popular frontend framework right now and has the most energy.
评论 #29312333 未加载
tikwidd超过 3 年前
Next.js or a create-react-app project for the frontend, which you can host for free on Azure Static Web Apps.<p>Azure functions or Google Firebase for the backend.<p>With this approach you might not need to pay a cent depending on your usage, plus you can take advantage of the large ecosystem of React components. For a &quot;non-serverless&quot; approach, I would set up a VM on Linode and use docker-compose behind nginx.
评论 #29312433 未加载
brundolf超过 3 年前
Next.js. It takes care of most of the config for you, and integrates client&#x2F;server&#x2F;static&#x2F;API beautifully under a single roof. Also gives you nice bells and whistles like hot reloading out of the box
edanm超过 3 年前
I&#x27;m no longer mostly doing web dev, so take with a grain of salt. But I believe you are looking for something that has been considered &quot;not a best practice&quot; for almost ten years now, which is why you are having trouble finding it.<p>Over the last decade, people moved away from thinking of a backend+frontend combo as being the correct abstraction, and more towards thinking of a web client as just another client, akin to a mobile client, which happens to be connected to an API. Because of the very different needs of the two parts, it became much more popular to split them up (either conceptually, or with actual separate codebases being deployed separately).<p>So nowadays, the standard way of looking at things is to pick some kind of framework for building a backend, e.g. Django, and some kind of front-end framework, e.g. ReactJS, and develop them separately.<p>I&#x27;m not saying this is the only way to do things, but I believe this is correct approach a lot of the time.
thrower123超过 3 年前
I&#x27;d be tempted to use Blazor if I was starting a new greenfield project and somebody else was paying.
thegreatpeter超过 3 年前
Check out remix.run - it just opened sourced today. Created by Michael &amp; Ryan &amp; Kent C Dodds from React Router.<p>Plenty of folks who &quot;haven&#x27;t used a framework, but heard X is great&quot; are missing out on the real deal. Give it a go, you won&#x27;t regret it!
评论 #29313499 未加载
softwarerero超过 3 年前
If you need full-stack and want to build quick take a look at <a href="https:&#x2F;&#x2F;www.meteor.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.meteor.com&#x2F;</a>.
pabe超过 3 年前
SvelteKit (JS&#x2F;TS), Flutter &amp; Dart (one language for everything &#x2F; every target system) (Dart), Django w&#x2F; Django Rest Framework (Python)<p>Concentrate on delivering value to your target group. I&#x27;d recommend not to do SPA frontends just for the sake of it.<p>A terrific solution for creating most websites with some dynamic components is the Astro framework. Handles partial hydration and allows using Svelte, Vue, React for dynamic components.
评论 #29315842 未加载
nikivi超过 3 年前
I quite liked the recent Remix v1 demo (<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=wsJaUjd1rUo" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=wsJaUjd1rUo</a>). The way you can get data in and out of react with their loader is great.<p>I personally am looking into using it (or most probably next.js) with Cloudflare Workers &#x2F; Durable Objects. Running backend code close to end users is awesome.
connorlay超过 3 年前
If you really want a clean slate, I think Elixir &amp; Phoenix is the most promising stack available right now and is worth investing in. Channels, PubSub, Live View, and BEAM clustering can really simplify building interactive web applications. In my experience it has made full-stack engineering much more approachable and manageable for small development teams. The BEAM itself scales well should the need arise and Phoenix does not make many assumptions about what kind of application you are building, so you won&#x27;t find yourself fighting your framework if your direction changes.<p>For a more conservative approach, if you are looking to rapidly scale up a team and&#x2F;or desire a huge ecosystem of packages to use, then I&#x27;d say modern Ruby on Rails is the way to go for maximum initial velocity. However, in my experience Ruby on Rails requires a lot of experience and discipline to keep things &quot;on the rails&quot; as you grow your application, and that initial velocity can quickly vanish if you are not careful.<p>I say this as someone with a good amount of experience with both frameworks.
bengale超过 3 年前
NextJS has everything you’re asking for, including handling the API. Super simple to get started with straight out of the box and the docs are great.
throwthere超过 3 年前
PHP and jquery.
评论 #29312402 未加载
评论 #29315171 未加载
评论 #29314642 未加载
eddhead超过 3 年前
Blazor with .NET6 is looking pretty fantastic
globalise83超过 3 年前
Meteor, Typescript template, with React frontend, MongoDB for the Meteor built-in accounts and authentication, and Postgresql for data management. Can also easily use Express to expose some REST endpoints. Plus there is a server side rendering package that makes it pretty easy.
评论 #29313505 未加载
harvey_dear超过 3 年前
I suggest flutter, opting flutter, a revolutionary web stack for the cross-platform development industry. Its major components include Dart, the Flutter engine, Foundation Library, and design-specific widgets.<p>A single codebase is used to create applications for Android, iOS, Mac, Windows, Web, and Linux with Flutter. It lets you build user interfaces, add new features, and fix bugs without sacrificing speed.<p>However, hire a dedicated developer for your app development projects if you wanna build a website or an app click the link down below.<p><a href="https:&#x2F;&#x2F;aglowiditsolutions.com&#x2F;hire-developers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aglowiditsolutions.com&#x2F;hire-developers&#x2F;</a>
评论 #29316922 未加载
评论 #29316903 未加载
tchock23超过 3 年前
Counterpoint to the suggestions above, why not try out a no&#x2F;low code framework like Bubble.io?<p>I&#x27;ve met a few devs recently that are starting with that for simple CRUD projects even though they could easily spin something up in Rails.
评论 #29312510 未加载
评论 #29313447 未加载
BackBlast超过 3 年前
Quasar has all of that. Its strength is the front end. The SSR feature gives you have a place where you can plug in an Express based REST API. There is a large enough community around it to help ensure you don&#x27;t get stuck.<p>I looked extensively at various frameworks to see which would make me most productive in starting projects from scratch in my limited development time and this is the one I settled on.<p>For me, front end is the biggest time sink, so I wanted one that had the best coverage there. Full components suites debugged and working, etc. It really helps that it can target SPA, PWA, mobile (capacitor) as well as SSR.
mostertoaster超过 3 年前
I’m glad you asked this question. I have similar wonderings.<p>I enjoy writing typescript so much and from the answers maybe I’ll try next.js<p>I know rails is pretty impressive in what it can get setup and running super quickly but I have little joy writing Ruby.
ranuzz超过 3 年前
I would say Spring Boot. A full stack system with server side rendering and easy production deployment, at least IMO. It is a framework that support all you mentioned out of the box and them some. Start with (<a href="https:&#x2F;&#x2F;start.spring.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;start.spring.io&#x2F;</a>) and look up an official documentation for your use case to get a feel of development process.<p>[Spring boot](<a href="https:&#x2F;&#x2F;spring.io&#x2F;projects&#x2F;spring-boot" rel="nofollow">https:&#x2F;&#x2F;spring.io&#x2F;projects&#x2F;spring-boot</a>)
funerr超过 3 年前
Next.js, React is the de-facto fronted way of doing things. Why not super charge it with SSG, SSR and other bells and whistles and the ability to deploy easily to vercel&#x2F;netlify.
评论 #29315699 未加载
ipaddr超过 3 年前
100% Laravel. A joy to work with. You get so much out of the box.
omnimus超过 3 年前
Phoenix+Liveview or Laravel+Livewire or Rails+Hotwire&#x2F;Turbo
whitepoplar超过 3 年前
PETAL (Phoenix, Elixir, Tailwind, Alpine.js, LiveView)
shireboy超过 3 年前
I do ASP.NET core + vuejs for work and like it well enough.<p>I’m also doing some projects in nodejs+Fastify+vuejs<p>One weird thing: I prefer not using Webpack, full spa frameworks etc if I can help it. Just add vuejs from cdn and use it to add client behavior to plain HTML output by asp.net or nodejs if I can get away with it.<p>For mobile app dev, Ionic Framework in the angular flavor- last I tried their Vue implementation was lacking.
miki_tyler超过 3 年前
Have you ever tried Jinja templates? Kit55 (<a href="https:&#x2F;&#x2F;stack55.com" rel="nofollow">https:&#x2F;&#x2F;stack55.com</a>) provides a super simple tech stack with barely any config if all you need are static pages + a simple JSON based CMS backend. Disclosure - I work for Stack55.
newacc9超过 3 年前
Dotnet 5.0, kestrel server, MVC sample project. You can use dotnet and deploy to linux. Pretty simple.
officiallylucky超过 3 年前
Try IMBA <a href="https:&#x2F;&#x2F;imba.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;imba.io&#x2F;</a>
elchin超过 3 年前
Check out RedwoodJS
评论 #29313428 未加载
bluewalt超过 3 年前
For everyone opposing Django to FastAPI, please take a look to the excellent Django Ninja: <a href="https:&#x2F;&#x2F;django-ninja.rest-framework.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;django-ninja.rest-framework.com&#x2F;</a>
ushakov超过 3 年前
Crystal programming language with Kemal or Lucky<p><a href="https:&#x2F;&#x2F;kemalcr.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;kemalcr.com&#x2F;</a><p><a href="https:&#x2F;&#x2F;luckyframework.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;luckyframework.org&#x2F;</a>
kamikazechaser超过 3 年前
Nuxt (Vue.js) and any cheatsheet and you should be good to go in less than 3 days.
thepra超过 3 年前
Blazor alone could account for 99% of your codebase exclusively in C# with little to no js on your way. (ex. <a href="https:&#x2F;&#x2F;collanon.app" rel="nofollow">https:&#x2F;&#x2F;collanon.app</a>)
puyoxyz超过 3 年前
“You have provoked a gang war”
bnchrch超过 3 年前
Hasura, nextjs and auth0
b2rsp超过 3 年前
Nextjs with a Strapi backend...simple and performant.
hemantv超过 3 年前
Redwoodjs is pretty cool and friendly
AlphaGeekZulu超过 3 年前
I use Rust with Rocket and Tera.
auspex超过 3 年前
Vue.js<p>Golang backend<p>Containers<p>Fargate<p>RDS
fulafel超过 3 年前
htmx + Clojure backend.
dusted超过 3 年前
html, css, javascript, nodejs, filesystem
wly_cdgr超过 3 年前
Smells like market landscape fishing but ok. Vanilla JS + vanilla PHP....frameworks are for resumes, not for sense or pleasure...
评论 #29315179 未加载
评论 #29313317 未加载